commit 81605d3a8b0a3af65473d7623ee1c36e8e51a0aa
Author: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Date:   Wed Dec 4 11:07:15 2013 -0800

    Linux 3.12.3

commit 742b3c84d9d7c028277fbdcc46c8cf4dbccce84f
Author: Nanno Langstraat <langstr@gmail.com>
Date:   Mon Oct 14 16:07:15 2013 +0200

    HID: apple: option to swap the 'Option' ("Alt") and 'Command' ("Flag") keys.
    
    commit 43c831468b3d26dbe8f2e061ccaf1abaf9cc1b8b upstream.
    
    Use case: people who use both Apple and PC keyboards regularly, and desire to
    keep&use their PC muscle memory.
    
    A particular use case: an Apple compact external keyboard connected to a PC
    laptop. (This use case can't be covered well by X.org key remappings etc.)
    
    Signed-off-by: Nanno Langstraat <langstr@gmail.com>
    Signed-off-by: Jiri Kosina <jkosina@suse.cz>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit f0d8c7402c614060ab81863c4f06ac9265733668
Author: Tristan Rice <rice@outerearth.net>
Date:   Tue Nov 12 19:06:23 2013 +0100

    HID: enable Mayflash USB Gamecube Adapter
    
    commit e17f5d7667c5414b8f12a93ef14aae0824bd2beb upstream.
    
    This is a patch that adds the new Mayflash Gamecube Controller to USB adapter
    (ID 1a34:f705 ACRUX) to the ACRUX driver (drivers/hid/hid-axff.c) with full
    force feedback support.
    
    Signed-off-by: Tristan Rice <rice@outerearth.net>
    Signed-off-by: Jiri Kosina <jkosina@suse.cz>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit d6c68f61ad98abad5c6ed2ab7b680c6dbd26f460
Author: Anders F. U. Kiær <ablacksheep@gmail.com>
Date:   Mon Oct 21 23:42:22 2013 +0200

    HID: add support for LEETGION Hellion Gaming Mouse
    
    commit f1a4914bd04911fbeaee23445112adae8977144a upstream.
    
    Added id, bindings and comments for Holtek USB ID 04d9:a072
    LEETGION Hellion Gaming mouse to use the same corrections of the report
    descriptor as Holtek 04d9:a067. As the mouse exceed HID_MAX_USAGES at the
    same offsets in the reported descriptor.
    Tested on the hardware.
    
    Signed-off-by: Anders F. U. Kiær <ablacksheep@gmail.com>
    Signed-off-by: Jiri Kosina <jkosina@suse.cz>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit b8ac28148c663a3b5a5d3b6207b3cfd84fb08210
Author: Stefan Achatz <erazor_de@users.sourceforge.net>
Date:   Fri Nov 8 14:12:00 2013 +0100

    HID: roccat: add missing special driver declarations
    
    commit e078809df5611600965f4d3420c3256260fc3e3d upstream.
    
    Forgot two special driver declarations and sorted the list.
    
    Signed-off-by: Stefan Achatz <erazor_de@users.sourceforge.net>
    Signed-off-by: Jiri Kosina <jkosina@suse.cz>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit 69221ffffe47c9f8a81ce2d685e72eb0ea1a1433
Author: Stefan Achatz <erazor_de@users.sourceforge.net>
Date:   Sun Nov 3 06:25:33 2013 +0100

    HID: roccat: fix Coverity CID 141438
    
    commit 7be63f20b00840a6f1c718dcee00855688d64acd upstream.
    
    Add missing switch breaks.
    
    Signed-off-by: Stefan Achatz <erazor_de@users.sourceforge.net>
    Signed-off-by: Jiri Kosina <jkosina@suse.cz>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit afea75541d048343a0905c6b6296eea44f144f04
Author: Stefan Achatz <erazor_de@users.sourceforge.net>
Date:   Mon Oct 28 18:52:03 2013 +0100

    HID: roccat: add new device return value
    
    commit 14fc4290df2fb94a28f39dab9ed32feaa5527bef upstream.
    
    Ryos uses a new return value for critical errors, others have been
    confirmed.
    
    Signed-off-by: Stefan Achatz <erazor_de@users.sourceforge.net>
    Signed-off-by: Jiri Kosina <jkosina@suse.cz>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit b8c5051525f83a032427663e51f49dfaf80a812c
Author: David Howells <dhowells@redhat.com>
Date:   Tue Jun 18 17:40:44 2013 +0100

    X.509: Remove certificate date checks
    
    commit 124df926090b32a998483f6e43ebeccdbe5b5302 upstream.
    
    Remove the certificate date checks that are performed when a certificate is
    parsed.  There are two checks: a valid from and a valid to.  The first check is
    causing a lot of problems with system clocks that don't keep good time and the
    second places an implicit expiry date upon the kernel when used for module
    signing, so do we really need them?
    
    Signed-off-by: David Howells <dhowells@redhat.com>
    cc: David Woodhouse <dwmw2@infradead.org>
    cc: Rusty Russell <rusty@rustcorp.com.au>
    cc: Josh Boyer <jwboyer@redhat.com>
    cc: Alexander Holler <holler@ahsoftware.de>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit 1f227a966d9ecb65c84f44d91d6d4651fcb95dd5
Author: Mauro Carvalho Chehab <m.chehab@samsung.com>
Date:   Sat Nov 2 04:29:42 2013 -0300

    media: s5h1420: Don't use dynamic static allocation
    
    commit 9736a89dafe07359d9c86bf9c3b815a250b354bc upstream.
    
    Dynamic static allocation is evil, as Kernel stack is too low, and
    compilation complains about it on some archs:
    	drivers/media/dvb-frontends/s5h1420.c:851:1: warning: 's5h1420_tuner_i2c_tuner_xfer' uses dynamic stack allocation [enabled by default]
    Instead, let's enforce a limit for the buffer.
    In the specific case of this frontend, only ttpci uses it. The maximum
    number of messages there is two, on I2C read operations. As the logic
    can add an extra operation, change the size to 3.
    
    Signed-off-by: Mauro Carvalho Chehab <m.chehab@samsung.com>
    Reviewed-by: Hans Verkuil <hans.verkuil@cisco.com>
    Signed-off-by: Mauro Carvalho Chehab <m.chehab@samsung.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit 19496d61f3962fd6470b106b779eddcdbe823c9b
Author: Mauro Carvalho Chehab <m.chehab@samsung.com>
Date:   Sat Nov 2 05:05:18 2013 -0300

    media: dvb-frontends: Don't use dynamic static allocation
    
    commit 8393796dfa4cf5dffcceec464c7789bec3a2f471 upstream.
    
    Dynamic static allocation is evil, as Kernel stack is too low, and
    compilation complains about it on some archs:
    	drivers/media/dvb-frontends/bcm3510.c:230:1: warning: 'bcm3510_do_hab_cmd' uses dynamic stack allocation [enabled by default]
    	drivers/media/dvb-frontends/itd1000.c:69:1: warning: 'itd1000_write_regs.constprop.0' uses dynamic stack allocation [enabled by default]
    	drivers/media/dvb-frontends/mt312.c:126:1: warning: 'mt312_write' uses dynamic stack allocation [enabled by default]
    	drivers/media/dvb-frontends/nxt200x.c:111:1: warning: 'nxt200x_writebytes' uses dynamic stack allocation [enabled by default]
    	drivers/media/dvb-frontends/stb6100.c:216:1: warning: 'stb6100_write_reg_range.constprop.3' uses dynamic stack allocation [enabled by default]
    	drivers/media/dvb-frontends/stv6110.c:98:1: warning: 'stv6110_write_regs' uses dynamic stack allocation [enabled by default]
    	drivers/media/dvb-frontends/stv6110x.c:85:1: warning: 'stv6110x_write_regs' uses dynamic stack allocation [enabled by default]
    	drivers/media/dvb-frontends/tda18271c2dd.c:147:1: warning: 'WriteRegs' uses dynamic stack allocation [enabled by default]
    	drivers/media/dvb-frontends/zl10039.c:119:1: warning: 'zl10039_write' uses dynamic stack allocation [enabled by default]
    Instead, let's enforce a limit for the buffer. Considering that I2C
    transfers are generally limited, and that devices used on USB has a
    max data length of 64 bytes for the control URBs.
    So, it seem safe to use 64 bytes as the hard limit for all those devices.
     On most cases, the limit is a way lower than that, but this limit
    is small enough to not affect the Kernel stack, and it is a no brain
    limit, as using smaller ones would require to either carefully each
    driver or to take a look on each datasheet.
    
    Signed-off-by: Mauro Carvalho Chehab <m.chehab@samsung.com>
    Reviewed-by: Hans Verkuil <hans.verkuil@cisco.com>
    Signed-off-by: Mauro Carvalho Chehab <m.chehab@samsung.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit 5e3c7ff0b050a7c9dd7319f4ca7cfebd3903d013
Author: Mauro Carvalho Chehab <m.chehab@samsung.com>
Date:   Sat Nov 2 05:11:47 2013 -0300

    media: dvb-frontends: Don't use dynamic static allocation
    
    commit 37ebaf6891ee81687bb558e8375c0712d8264ed8 upstream.
    
    Dynamic static allocation is evil, as Kernel stack is too low, and
    compilation complains about it on some archs:
    	drivers/media/dvb-frontends/af9013.c:77:1: warning: 'af9013_wr_regs_i2c' uses dynamic stack allocation [enabled by default]
    	drivers/media/dvb-frontends/af9033.c:188:1: warning: 'af9033_wr_reg_val_tab' uses dynamic stack allocation [enabled by default]
    	drivers/media/dvb-frontends/af9033.c:68:1: warning: 'af9033_wr_regs' uses dynamic stack allocation [enabled by default]
    	drivers/media/dvb-frontends/bcm3510.c:230:1: warning: 'bcm3510_do_hab_cmd' uses dynamic stack allocation [enabled by default]
    	drivers/media/dvb-frontends/cxd2820r_core.c:84:1: warning: 'cxd2820r_rd_regs_i2c.isra.1' uses dynamic stack allocation [enabled by default]
    	drivers/media/dvb-frontends/rtl2830.c:56:1: warning: 'rtl2830_wr' uses dynamic stack allocation [enabled by default]
    	drivers/media/dvb-frontends/rtl2832.c:187:1: warning: 'rtl2832_wr' uses dynamic stack allocation [enabled by default]
    	drivers/media/dvb-frontends/tda10071.c:52:1: warning: 'tda10071_wr_regs' uses dynamic stack allocation [enabled by default]
    	drivers/media/dvb-frontends/tda10071.c:84:1: warning: 'tda10071_rd_regs' uses dynamic stack allocation [enabled by default]
    Instead, let's enforce a limit for the buffer. Considering that I2C
    transfers are generally limited, and that devices used on USB has a
    max data length of 64 bytes for	the control URBs.
    So, it seem safe to use 64 bytes as the hard limit for all those devices.
     On most cases, the limit is a way lower than that, but	this limit
    is small enough to not affect the Kernel stack, and it is a no brain
    limit, as using smaller ones would require to either carefully each
    driver or to take a look on each datasheet.
    
    Signed-off-by: Mauro Carvalho Chehab <m.chehab@samsung.com>
    Reviewed-by: Hans Verkuil <hans.verkuil@cisco.com>
    Reviewed-by: Antti Palosaari <crope@iki.fi>
    Signed-off-by: Mauro Carvalho Chehab <m.chehab@samsung.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit a385eab2d1f958759f9c23923b7749b0505285f6
Author: Mauro Carvalho Chehab <m.chehab@samsung.com>
Date:   Sat Nov 2 05:14:58 2013 -0300

    media: stb0899_drv: Don't use dynamic static allocation
    
    commit ba4746423488aafa435739c32bfe0758f3dd5d77 upstream.
    
    Dynamic static allocation is evil, as Kernel stack is too low, and
    compilation complains about it on some archs:
    	drivers/media/dvb-frontends/stb0899_drv.c:540:1: warning: 'stb0899_write_regs' uses dynamic stack allocation [enabled by default]
    Instead, let's enforce a limit for the buffer. Considering that I2C
    transfers are generally limited, and that devices used on USB has a
    max data length of 64 bytes for	the control URBs.
    So, it seem safe to use 64 bytes as the hard limit for all those devices.
     On most cases, the limit is a way lower than that, but	this limit
    is small enough to not affect the Kernel stack, and it is a no brain
    limit, as using smaller ones would require to either carefully each
    driver or to take a look on each datasheet.
    
    Signed-off-by: Mauro Carvalho Chehab <m.chehab@samsung.com>
    Reviewed-by: Hans Verkuil <hans.verkuil@cisco.com>
    Signed-off-by: Mauro Carvalho Chehab <m.chehab@samsung.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit 30f028d83800c4340e0f309698465a9f364af771
Author: Mauro Carvalho Chehab <m.chehab@samsung.com>
Date:   Sat Nov 2 05:17:01 2013 -0300

    media: stv0367: Don't use dynamic static allocation
    
    commit 9aca4fb0571ce9cfef680ceb08d19dd008015307 upstream.
    
    Dynamic static allocation is evil, as Kernel stack is too low, and
    compilation complains about it on some archs:
    	drivers/media/dvb-frontends/stv0367.c:791:1: warning: 'stv0367_writeregs.constprop.4' uses dynamic stack allocation [enabled by default]
    Instead, let's enforce a limit for the buffer. Considering that I2C
    transfers are generally limited, and that devices used on USB has a
    max data length of 64 bytes for	the control URBs.
    So, it seem safe to use 64 bytes as the hard limit for all those devices.
     On most cases, the limit is a way lower than that, but	this limit
    is small enough to not affect the Kernel stack, and it is a no brain
    limit, as using smaller ones would require to either carefully each
    driver or to take a look on each datasheet.
    
    Signed-off-by: Mauro Carvalho Chehab <m.chehab@samsung.com>
    Reviewed-by: Hans Verkuil <hans.verkuil@cisco.com>
    Signed-off-by: Mauro Carvalho Chehab <m.chehab@samsung.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit 5d9befae5c21f6831ec5d7d60fc03b190156b444
Author: Mauro Carvalho Chehab <m.chehab@samsung.com>
Date:   Sat Nov 2 05:18:49 2013 -0300

    media: stv090x: Don't use dynamic static allocation
    
    commit f7a35df15b1f7de7823946aebc9164854e66ea07 upstream.
    
    Dynamic static allocation is evil, as Kernel stack is too low, and
    compilation complains about it on some archs:
           drivers/media/dvb-frontends/stv090x.c:750:1: warning: 'stv090x_write_regs.constprop.6' uses dynamic stack allocation [enabled by default]
    Instead, let's enforce a limit for the buffer. Considering that I2C
    transfers are generally limited, and that devices used on USB has a
    max data length of 64 bytes for	the control URBs.
    So, it seem safe to use 64 bytes as the hard limit for all those devices.
     On most cases, the limit is a way lower than that, but	this limit
    is small enough to not affect the Kernel stack, and it is a no brain
    limit, as using smaller ones would require to either carefully each
    driver or to take a look on each datasheet.
    
    Signed-off-by: Mauro Carvalho Chehab <m.chehab@samsung.com>
    Reviewed-by: Hans Verkuil <hans.verkuil@cisco.com>
    Signed-off-by: Mauro Carvalho Chehab <m.chehab@samsung.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit 93d4a234bb94db4df2428ee44ed3a3cb524a6049
Author: Mauro Carvalho Chehab <m.chehab@samsung.com>
Date:   Sat Nov 2 06:07:42 2013 -0300

    media: tuners: Don't use dynamic static allocation
    
    commit f1baab870f6e93b668af7b34d6f6ba49f1b0e982 upstream.
    
    Dynamic static allocation is evil, as Kernel stack is too low, and
    compilation complains about it on some archs:
    	drivers/media/tuners/e4000.c:50:1: warning: 'e4000_wr_regs' uses dynamic stack allocation [enabled by default]
    	drivers/media/tuners/e4000.c:83:1: warning: 'e4000_rd_regs' uses dynamic stack allocation [enabled by default]
    	drivers/media/tuners/fc2580.c:66:1: warning: 'fc2580_wr_regs.constprop.1' uses dynamic stack allocation [enabled by default]
    	drivers/media/tuners/fc2580.c:98:1: warning: 'fc2580_rd_regs.constprop.0' uses dynamic stack allocation [enabled by default]
    	drivers/media/tuners/tda18212.c:57:1: warning: 'tda18212_wr_regs' uses dynamic stack allocation [enabled by default]
    	drivers/media/tuners/tda18212.c:90:1: warning: 'tda18212_rd_regs.constprop.0' uses dynamic stack allocation [enabled by default]
    	drivers/media/tuners/tda18218.c:60:1: warning: 'tda18218_wr_regs' uses dynamic stack allocation [enabled by default]
    	drivers/media/tuners/tda18218.c:92:1: warning: 'tda18218_rd_regs.constprop.0' uses dynamic stack allocation [enabled by default]
    Instead, let's enforce a limit for the buffer. Considering that I2C
    transfers are generally limited, and that devices used on USB has a
    max data length of 64 bytes for	the control URBs.
    So, it seem safe to use 64 bytes as the hard limit for all those devices.
     On most cases, the limit is a way lower than that, but	this limit
    is small enough to not affect the Kernel stack, and it is a no brain
    limit, as using smaller ones would require to either carefully each
    driver or to take a look on each datasheet.
    
    Signed-off-by: Mauro Carvalho Chehab <m.chehab@samsung.com>
    Reviewed-by: Hans Verkuil <hans.verkuil@cisco.com>
    Reviewed-by: Antti Palosaari <crope@iki.fi>
    Signed-off-by: Mauro Carvalho Chehab <m.chehab@samsung.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit e9812be28ce0f4e4bf5586f1a542551c8fc80ffa
Author: Mauro Carvalho Chehab <m.chehab@samsung.com>
Date:   Sat Nov 2 06:13:11 2013 -0300

    media: tuner-xc2028: Don't use dynamic static allocation
    
    commit 56ac033725ec93a45170caf3979eb2b1211a59a8 upstream.
    
    Dynamic static allocation is evil, as Kernel stack is too low, and
    compilation complains about it on some archs:
    	drivers/media/tuners/tuner-xc2028.c:651:1: warning: 'load_firmware' uses dynamic stack allocation [enabled by default]
    Instead, let's enforce a limit for the buffer.
    In the specific case of this driver, the maximum limit is 80, used only
    on tm6000 driver. This limit is due to the size of the USB control URBs.
    Ok, it would be theoretically possible to use a bigger size on PCI
    devices, but the firmware load time is already good enough. Anyway,
    if some usage requires more, it is just a matter of also increasing
    the buffer size at load_firmware().
    
    Signed-off-by: Mauro Carvalho Chehab <m.chehab@samsung.com>
    Reviewed-by: Hans Verkuil <hans.verkuil@cisco.com>
    Signed-off-by: Mauro Carvalho Chehab <m.chehab@samsung.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit e715159bf75d8fcc847d9cb5ca0060c926eb0499
Author: Mauro Carvalho Chehab <m.chehab@samsung.com>
Date:   Sat Nov 2 06:20:16 2013 -0300

    media: v4l2-async: Don't use dynamic static allocation
    
    commit 24e9a47e14f0a97ee97abc3dd86b2ef254448a17 upstream.
    
    Dynamic static allocation is evil, as Kernel stack is too low, and
    compilation complains about it on some archs:
    	drivers/media/v4l2-core/v4l2-async.c:238:1: warning: 'v4l2_async_notifier_unregister' uses dynamic stack allocation [enabled by default]
    Instead, let's enforce a limit for the buffer.
    In this specific case, there's a hard limit imposed by V4L2_MAX_SUBDEVS,
    with is currently 128. That means that the buffer size can be up to
    128x8 = 1024 bytes (on a 64bits kernel), with is too big for stack.
    Worse than that, someone could increase it and cause real troubles.
    So, let's use dynamically allocated data, instead.
    
    Signed-off-by: Mauro Carvalho Chehab <m.chehab@samsung.com>
    Reviewed-by: Hans Verkuil <hans.verkuil@cisco.com>
    Signed-off-by: Mauro Carvalho Chehab <m.chehab@samsung.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit 282e059380646cb413fb3917ba9035032cd6d986
Author: Mauro Carvalho Chehab <m.chehab@samsung.com>
Date:   Sat Nov 2 08:16:47 2013 -0300

    media: lirc_zilog: Don't use dynamic static allocation
    
    commit ac5b4b6bf0c84c48d7e2e3fce22e35b04282ba76 upstream.
    
    Dynamic static allocation is evil, as Kernel stack is too low, and
    ompilation complains about it on some archs:
    	drivers/staging/media/lirc/lirc_zilog.c:967:1: warning: 'read' uses dynamic stack allocation [enabled by default]
    Instead, let's enforce a limit for the buffer to be 64. That should
    be more than enough.
    
    Signed-off-by: Mauro Carvalho Chehab <m.chehab@samsung.com>
    Reviewed-by: Hans Verkuil <hans.verkuil@cisco.com>
    Signed-off-by: Mauro Carvalho Chehab <m.chehab@samsung.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit 182c12850fdaf9fa01e41e220c3afc4a232fe259
Author: Mauro Carvalho Chehab <m.chehab@samsung.com>
Date:   Fri Nov 1 13:09:47 2013 -0300

    media: cx18: struct i2c_client is too big for stack
    
    commit 1d212cf0c2d89adf3d0a6d62d729076f49f087dc upstream.
    
    	drivers/media/pci/cx18/cx18-driver.c: In function 'cx18_read_eeprom':
    	drivers/media/pci/cx18/cx18-driver.c:357:1: warning: the frame size of 1072 bytes is larger than 1024 bytes [-Wframe-larger-than=]
    That happens because the routine allocates 256 bytes for an eeprom buffer, plus
    the size of struct i2c_client, with is big.
    Change the logic to dynamically allocate/deallocate space for struct i2c_client,
    instead of  using the stack.
    
    Signed-off-by: Mauro Carvalho Chehab <m.chehab@samsung.com>
    Reviewed-by: Hans Verkuil <hans.verkuil@cisco.com>
    Signed-off-by: Mauro Carvalho Chehab <m.chehab@samsung.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit 02b2645af91699858fbcfa8aa82d19713bfd5567
Author: Mauro Carvalho Chehab <m.chehab@samsung.com>
Date:   Sat Nov 2 06:17:47 2013 -0300

    media: cimax2: Don't use dynamic static allocation
    
    commit 278ba83a3a1932805be726bdd7dfb3156286d33a upstream.
    
    Dynamic static allocation is evil, as Kernel stack is too low, and
    compilation complains about it on some archs:
            drivers/media/pci/cx23885/cimax2.c:149:1: warning: 'netup_write_i2c' uses dynamic stack allocation [enabled by default]
    Instead, let's enforce a limit for the buffer. Considering that I2C
    transfers are generally limited, and that devices used on USB has a
    max data length of 64 bytes for the control URBs.
    So, it seem safe to use 64 bytes as the hard limit for all those devices.
    On most cases, the limit is a way lower than that, but this limit
    is small enough to not affect the Kernel stack, and it is a no brain
    limit, as using smaller ones would require to either carefully each
    driver or to take a look on each datasheet.
    
    Signed-off-by: Mauro Carvalho Chehab <m.chehab@samsung.com>
    Reviewed-by: Hans Verkuil <hans.verkuil@cisco.com>
    Signed-off-by: Mauro Carvalho Chehab <m.chehab@samsung.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit 3f6609e284d382ba41fb32d2bcab49dcd85601ce
Author: Mauro Carvalho Chehab <m.chehab@samsung.com>
Date:   Sat Nov 2 05:51:59 2013 -0300

    media: av7110_hw: Don't use dynamic static allocation
    
    commit 5bf30b3bc4ff80ef71a733a1f459cca4fa507892 upstream.
    
    Dynamic static allocation is evil, as Kernel stack is too low, and
    compilation complains about it on some archs:
    	drivers/media/pci/ttpci/av7110_hw.c:510:1: warning: 'av7110_fw_cmd' uses dynamic stack allocation [enabled by default]
    Instead, let's enforce a limit for the buffer.
    In the specific case of this driver, the maximum fw command size
    is 6 + 2, as checked using:
    	$ git grep -A1 av7110_fw_cmd drivers/media/pci/ttpci/
    So, use 8 for the buffer size.
    
    Signed-off-by: Mauro Carvalho Chehab <m.chehab@samsung.com>
    Reviewed-by: Hans Verkuil <hans.verkuil@cisco.com>
    Signed-off-by: Mauro Carvalho Chehab <m.chehab@samsung.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit f8290c6d59614b7bc7c4ff8ebfee44b204125dfd
Author: Mauro Carvalho Chehab <m.chehab@samsung.com>
Date:   Sat Nov 2 07:18:09 2013 -0300

    media: cxusb: Don't use dynamic static allocation
    
    commit 64f7ef8afbf89f3c72c4d2472e4914ca198c0668 upstream.
    
    Dynamic static allocation is evil, as Kernel stack is too low, and
    compilation complains about it on some archs:
    	drivers/media/usb/dvb-usb/cxusb.c:209:1: warning: 'cxusb_i2c_xfer' uses dynamic stack allocation [enabled by default]
    	drivers/media/usb/dvb-usb/cxusb.c:69:1: warning: 'cxusb_ctrl_msg' uses dynamic stack allocation [enabled by default]
    Instead, let's enforce a limit for the buffer to be the max size of
    a control URB payload data (64 bytes).
    
    Signed-off-by: Mauro Carvalho Chehab <m.chehab@samsung.com>
    Reviewed-by: Hans Verkuil <hans.verkuil@cisco.com>
    Signed-off-by: Mauro Carvalho Chehab <m.chehab@samsung.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit 373f2939a2062b2f9b17351f8e48ff55c2547fa8
Author: Mauro Carvalho Chehab <m.chehab@samsung.com>
Date:   Sat Nov 2 07:23:49 2013 -0300

    media: dibusb-common: Don't use dynamic static allocation
    
    commit 1d7fa359d4c0fbb2756fa01cc47212908d90b7b0 upstream.
    
    Dynamic static allocation is evil, as Kernel stack is too low, and
    compilation complains about it on some archs:
    	drivers/media/usb/dvb-usb/dibusb-common.c:124:1: warning: 'dibusb_i2c_msg' uses dynamic stack allocation [enabled by default]
    Instead, let's enforce a limit for the buffer to be the max size of
    a control URB payload data (64 bytes).
    
    Signed-off-by: Mauro Carvalho Chehab <m.chehab@samsung.com>
    Reviewed-by: Hans Verkuil <hans.verkuil@cisco.com>
    Signed-off-by: Mauro Carvalho Chehab <m.chehab@samsung.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit cb899a55483455f4f06a4f7835c4433851461231
Author: Mauro Carvalho Chehab <m.chehab@samsung.com>
Date:   Sat Nov 2 07:43:40 2013 -0300

    media: dw2102: Don't use dynamic static allocation
    
    commit 0065a79a8698a953e4b201c5fce8db8940530578 upstream.
    
    Dynamic static allocation is evil, as Kernel stack is too low, and
    compilation complains about it on some archs:
    	drivers/media/usb/dvb-usb/dw2102.c:368:1: warning: 'dw2102_earda_i2c_transfer' uses dynamic stack allocation [enabled by default]
    	drivers/media/usb/dvb-usb/dw2102.c:449:1: warning: 'dw2104_i2c_transfer' uses dynamic stack allocation [enabled by default]
    	drivers/media/usb/dvb-usb/dw2102.c:512:1: warning: 'dw3101_i2c_transfer' uses dynamic stack allocation [enabled by default]
    	drivers/media/usb/dvb-usb/dw2102.c:621:1: warning: 's6x0_i2c_transfer' uses dynamic stack allocation [enabled by default]
    Instead, let's enforce a limit for the buffer to be the max size of
    a control URB payload data (64 bytes).
    
    Signed-off-by: Mauro Carvalho Chehab <m.chehab@samsung.com>
    Reviewed-by: Hans Verkuil <hans.verkuil@cisco.com>
    Signed-off-by: Mauro Carvalho Chehab <m.chehab@samsung.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit 29b521de6c11bfd3d41288d30885b979e5146902
Author: Mauro Carvalho Chehab <m.chehab@samsung.com>
Date:   Sat Nov 2 07:52:04 2013 -0300

    media: af9015: Don't use dynamic static allocation
    
    commit 65e2f1cb3fe0f0630834b9517ba8f631936f325c upstream.
    
    Dynamic static allocation is evil, as Kernel stack is too low, and
    compilation complains about it on some archs:
    	drivers/media/usb/dvb-usb-v2/af9015.c:433:1: warning: 'af9015_eeprom_hash' uses dynamic stack allocation [enabled by default]
    In this specific case, it is a gcc bug, as the size is a const, but
    it is easy to just change it from const to a #define, getting rid of
    the gcc warning.
    
    Signed-off-by: Mauro Carvalho Chehab <m.chehab@samsung.com>
    Reviewed-by: Hans Verkuil <hans.verkuil@cisco.com>
    Reviewed-by: Antti Palosaari <crope@iki.fi>
    Signed-off-by: Mauro Carvalho Chehab <m.chehab@samsung.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit db37112a30abfe0d32ed79fa9229c2f470ab7197
Author: Mauro Carvalho Chehab <m.chehab@samsung.com>
Date:   Sat Nov 2 08:07:12 2013 -0300

    media: af9035: Don't use dynamic static allocation
    
    commit 7760e148350bf6df95662bc0db3734e9d991cb03 upstream.
    
    Dynamic static allocation is evil, as Kernel stack is too low, and
    compilation complains about it on some archs:
    	drivers/media/usb/dvb-usb-v2/af9035.c:142:1: warning: 'af9035_wr_regs' uses dynamic stack allocation [enabled by default]
    	drivers/media/usb/dvb-usb-v2/af9035.c:305:1: warning: 'af9035_i2c_master_xfer' uses dynamic stack allocation [enabled by default]
    Instead, let's enforce a limit for the buffer to be the max size of
    a control URB payload data (64 bytes).
    
    Signed-off-by: Mauro Carvalho Chehab <m.chehab@samsung.com>
    Reviewed-by: Hans Verkuil <hans.verkuil@cisco.com>
    Reviewed-by: Antti Palosaari <crope@iki.fi>
    Signed-off-by: Mauro Carvalho Chehab <m.chehab@samsung.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit e771f35b22aac46a7a126ea90f28b7e96e970d34
Author: Mauro Carvalho Chehab <m.chehab@samsung.com>
Date:   Sat Nov 2 08:13:02 2013 -0300

    media: mxl111sf: Don't use dynamic static allocation
    
    commit c98300a0e8cf160aaea60bc05d2cd156a7666173 upstream.
    
    Dynamic static allocation is evil, as Kernel stack is too low, and
    compilation complains about it on some archs:
    	drivers/media/usb/dvb-usb-v2/mxl111sf.c:74:1: warning: 'mxl111sf_ctrl_msg' uses dynamic stack allocation [enabled by default]
    Instead, let's enforce a limit for the buffer to be the max size of
    a control URB payload data (64 bytes).
    
    Signed-off-by: Mauro Carvalho Chehab <m.chehab@samsung.com>
    Reviewed-by: Hans Verkuil <hans.verkuil@cisco.com>
    Signed-off-by: Mauro Carvalho Chehab <m.chehab@samsung.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit 206f5b14fe2a7d11cd44cba804501ba49fce5559
Author: Alex Deucher <alexander.deucher@amd.com>
Date:   Wed Nov 13 15:25:35 2013 -0500

    drm/radeon/vm: don't attempt to update ptes if ib allocation fails
    
    commit 4cc948b94a222c310ae089c36718aac7a03aec90 upstream.
    
    If we fail to allocate an indirect buffer (ib) when updating
    the ptes, return an error instead of trying to use the ib.
    Avoids a null pointer dereference.
    
    Bug:
    https://bugzilla.kernel.org/show_bug.cgi?id=58621
    
    v2 (chk): rebased on drm-fixes-3.12 for stable inclusion
    
    Reviewed-by: Christian König <christian.koenig@amd.com>
    Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit b7aade53e155d4be26e4a87a0957e694dfd5700d
Author: Linus Walleij <linus.walleij@linaro.org>
Date:   Wed Nov 27 08:47:02 2013 +0100

    gpio: pl061: move irqdomain initialization
    
    commit 2ba3154d9cb13697b97723cce75633b48adfe826 upstream.
    
    The PL061 driver had the irqdomain initialization in an unfortunate
    place: when used with device tree (and thus passing the base IRQ
    0) the driver would work, as this registers an irqdomain and waits
    for mappings to be done dynamically as the devices request their
    IRQs, whereas when booting using platform data the irqdomain core
    would attempt to allocate IRQ descriptors dynamically (which works
    fine) but also to associate the irq_domain_associate_many() on all
    IRQs, which in turn will call the mapping function which at this
    point will try to set the type of the IRQ and then tries to acquire
    a non-initialized spinlock yielding a backtrace like this:
    
    CPU: 0 PID: 1 Comm: swapper Not tainted 3.13.0-rc1+ #652
    Backtrace:
    [<c0016f0c>] (dump_backtrace) from [<c00172ac>] (show_stack+0x18/0x1c)
     r6:c798ace0 r5:00000000 r4:c78257e0 r3:00200140
    [<c0017294>] (show_stack) from [<c0329ea0>] (dump_stack+0x20/0x28)
    [<c0329e80>] (dump_stack) from [<c004fa80>] (__lock_acquire+0x1c0/0x1b80)
    [<c004f8c0>] (__lock_acquire) from [<c0051970>] (lock_acquire+0x6c/0x80)
     r10:00000000 r9:c0455234 r8:00000060 r7:c047d798 r6:600000d3 r5:00000000
     r4:c782c000
    [<c0051904>] (lock_acquire) from [<c032e484>] (_raw_spin_lock_irqsave+0x60/0x74)
     r6:c01a1100 r5:800000d3 r4:c798acd0
    [<c032e424>] (_raw_spin_lock_irqsave) from [<c01a1100>] (pl061_irq_type+0x28/0x)
     r6:00000000 r5:00000000 r4:c798acd0
    [<c01a10d8>] (pl061_irq_type) from [<c0059ef4>] (__irq_set_trigger+0x70/0x104)
     r6:00000000 r5:c01a10d8 r4:c046da1c r3:c01a10d8
    [<c0059e84>] (__irq_set_trigger) from [<c005b348>] (irq_set_irq_type+0x40/0x60)
     r10:c043240c r8:00000060 r7:00000000 r6:c046da1c r5:00000060 r4:00000000
    [<c005b308>] (irq_set_irq_type) from [<c01a1208>] (pl061_irq_map+0x40/0x54)
     r6:c79693c0 r5:c798acd0 r4:00000060
    [<c01a11c8>] (pl061_irq_map) from [<c005d27c>] (irq_domain_associate+0xc0/0x190)
     r5:00000060 r4:c046da1c
    [<c005d1bc>] (irq_domain_associate) from [<c005d604>] (irq_domain_associate_man)
     r8:00000008 r7:00000000 r6:c79693c0 r5:00000060 r4:00000000
    [<c005d5d0>] (irq_domain_associate_many) from [<c005d864>] (irq_domain_add_simp)
     r8:c046578c r7:c035b72c r6:c79693c0 r5:00000060 r4:00000008 r3:00000008
    [<c005d814>] (irq_domain_add_simple) from [<c01a1380>] (pl061_probe+0xc4/0x22c)
     r6:00000060 r5:c0464380 r4:c798acd0
    [<c01a12bc>] (pl061_probe) from [<c01c0450>] (amba_probe+0x74/0xe0)
     r10:c043240c r9:c0455234 r8:00000000 r7:c047d7f8 r6:c047d744 r5:00000000
     r4:c0464380
    
    This moves the irqdomain initialization to a point where the spinlock
    and GPIO chip are both fully propulated, so the callbacks can be used
    without crashes.
    
    I had some problem reproducing the crash, as the devm_kzalloc():ed
    zeroed memory would seemingly mask the spinlock as something OK,
    but by poisoning the lock like this:
    
    u32 *dum;
    dum = (u32 *) &chip->lock;
    *dum = 0xaaaaaaaaU;
    
    I could reproduce, fix and test the patch.
    
    Reported-by: Russell King <linux@arm.linux.org.uk>
    Cc: Rob Herring <robherring2@gmail.com>
    Cc: Haojian Zhuang <haojian.zhuang@linaro.org>
    Cc: Baruch Siach <baruch@tkos.co.il>
    Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit 3709f3d353cc3921ea92d51e43e70266101de200
Author: Simon Wood <simon@mungewell.org>
Date:   Thu Oct 10 08:20:12 2013 -0600

    HID: lg: fix ReportDescriptor for Logitech Formula Vibration
    
    commit 7f50547059bd55ac6a98c29fd1989421bdc36ec9 upstream.
    
    By default the Logitech Formula Vibration presents a combined accel/brake
    axis ('Y'). This patch modifies the HID descriptor to present seperate
    accel/brake axes ('Y' and 'Z').
    
    Signed-off-by: Simon Wood <simon@mungewell.org>
    Signed-off-by: Jiri Kosina <jkosina@suse.cz>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit 0c42663de5315d34e3f393b0ac4c9c720305d37d
Author: Simon Wood <simon@mungewell.org>
Date:   Wed Nov 6 12:30:41 2013 -0700

    HID:hid-lg4ff: Switch autocentering off when strength is set to zero.
    
    commit d2c02da549b468bbb28e67d269bd3c9e10683ff5 upstream.
    
    When the autocenter is set to zero, this patch issues a command to
    totally disable the autocenter - this results in less resistance
    in the wheel.
    
    Reported-by: Elias Vanderstuyft <elias.vds@gmail.com>
    Signed-off-by: Simon Wood <simon@mungewell.org>
    Signed-off-by: Jiri Kosina <jkosina@suse.cz>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit 2d7eff05cb9efcf54cb6b2edd057ca6cd2e87796
Author: Simon Wood <simon@mungewell.org>
Date:   Wed Nov 6 12:30:40 2013 -0700

    HID:hid-lg4ff: Scale autocentering force properly on Logitech wheel
    
    commit f8c231569a7a455dfa1907294a46ba52b3aa8859 upstream.
    
    Adjust the scaling and lineartity to match that of the Windows
    driver (from MOMO testing).
    
    Reported-by: Elias Vanderstuyft <elias.vds@gmail.com>
    Signed-off-by: Simon Wood <simon@mungewell.org>
    Signed-off-by: Jiri Kosina <jkosina@suse.cz>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit 863aae543192a6888011be20ba95fc49b95bb06d
Author: KaiChung Cheng <kenny_cheng@wistron.com>
Date:   Thu Nov 21 10:04:30 2013 +0100

    HID: multicouh: add PID VID to support 1 new Wistron optical touch device
    
    commit bf9d121efc18c30caa2caad85358cf9408eca117 upstream.
    
    This patch adds PID VID to support for the Wistron Inc. Optical touch panel.
    
    Signed-off-by: KaiChung Cheng <kenny_cheng@wistron.com>
    Signed-off-by: Jiri Kosina <jkosina@suse.cz>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit c51b035020bd354d6c5b272c2965520b63d2927e
Author: Srinivas Pandruvada <srinivas.pandruvada@linux.intel.com>
Date:   Sat Oct 26 10:04:09 2013 -0700

    HID: hid-sensor-hub: fix report size
    
    commit d4b1bba76171cb783e32441b28462fe841073ed8 upstream.
    
    Most of the hid sensor field size is reported in report_size field
    in the report descriptor. For rotation fusion sensor the quaternion
    data is 16 byte field, the report size was set to 4 and report
    count field is set to 4. So the total size is 16 bytes. But the current
    driver has a bug and not taking account for report count field. This
    causes user space to see only 4 bytes of data sent via IIO interface.
    The number of bytes in a field needs to take account of report_count
    field. Need to multiply report_size and report_count to get total
    number of bytes.
    
    Signed-off-by: Srinivas Pandruvada <srinivas.pandruvada@linux.intel.com>
    Signed-off-by: Jiri Kosina <jkosina@suse.cz>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit 32627d0a4a7e19a6bbbbca04ba3e7e44f6cbb5ae
Author: Forest Bond <forest.bond@rapidrollout.com>
Date:   Mon Oct 21 12:38:49 2013 -0400

    HID: hid-multitouch: add support for SiS panels
    
    commit a6802e008e19845fd9669511b895f7515ef9c48b upstream.
    
    Add support for SiS multitouch panels.
    
    Signed-off-by: Forest Bond <forest.bond@rapidrollout.com>
    Signed-off-by: Jiri Kosina <jkosina@suse.cz>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit 3ddbe89d58031e41bdae8be46e431089297b5807
Author: Elias Vanderstuyft <Elias.vds@gmail.com>
Date:   Mon Oct 7 19:48:12 2013 +0300

    HID: logitech - lg2ff: Add IDs for Formula Vibration Feedback Wheel
    
    commit bd04363d3990c0727b7512a79a08c68436878bb0 upstream.
    
    Add USB IDs for Logitech Formula Vibration Feedback Wheel (046d:ca04).
    
    The lg2ff force feedback subdriver is used for vibration and
    HID_GD_MULTIAXIS is set to avoid deadzone like other Logitech wheels.
    
    Kconfig description etc are also updated accordingly.
    
    Signed-off-by: Elias Vanderstuyft <Elias.vds@gmail.com>
    [anssi.hannula@iki.fi: added description and CCs]
    Signed-off-by: Anssi Hannula <anssi.hannula@iki.fi>
    Signed-off-by: Simon Wood <simon@mungewell.org>
    Signed-off-by: Jiri Kosina <jkosina@suse.cz>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit bde336446e42cc451c17c01a52c2a8d9ae3c6263
Author: Luosong <android@generaltouch.com>
Date:   Wed Oct 2 11:20:00 2013 +0200

    HID: multitouch: Fix GeneralTouch products and add more PIDs
    
    commit 7b2262920db2b98fe2cd32cde52141f02fd9eecf upstream.
    
    GeneralTouch products should use the quirk SLOT_IS_CONTACTID
    instead of SLOT_IS_CONTACTNUMBER.
    
    Adding PIDs 0101,e100,0102,0106,010a from the new products.
    
    Tested on new and older products by GeneralTouch engineers.
    
    Signed-off-by: Luosong <android@generaltouch.com>
    Signed-off-by: Benjamin Tissoires <benjamin.tissoires@redhat.com>
    Signed-off-by: Jiri Kosina <jkosina@suse.cz>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit 8a562a6e21356a0787f1c87e385a425b7264661d
Author: Steven Whitehouse <swhiteho@redhat.com>
Date:   Thu Nov 21 18:47:57 2013 +0000

    GFS2: Fix ref count bug relating to atomic_open
    
    commit ea0341e071527d5cec350917b01ab901af09d758 upstream.
    
    In the case that atomic_open calls finish_no_open() with
    the dentry that was supplied to gfs2_atomic_open() an
    extra reference count is required. This patch fixes that
    issue preventing a bug trap triggering at umount time.
    
    Signed-off-by: Steven Whitehouse <swhiteho@redhat.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit be5e7f1a9a1f8baadce3a7ac637a3dcbd1491a10
Author: Kuninori Morimoto <kuninori.morimoto.gx@renesas.com>
Date:   Tue Sep 24 18:55:22 2013 -0700

    sh: ecovec: fixup compile error on sdhi
    
    commit 357002b9c09e5332c9fcd4fa3d3c0fa00ca6ae4f upstream.
    
    afa2c9407f8908 ("sh: ecovec24: Use MMC/SDHI CD and RO GPIO") added
    .tmio_flags = TMIO_MMC_USE_GPIO_CD on sh_mobile_sdhi_info, but it needs
    <linux/mfd/tmio.h> header.  This patch adds it.
    
    Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx@renesas.com>
    Reviewed-by: Yusuke Goda <yusuke.goda.sx@renesas.com>
    Acked-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
    Signed-off-by: Chris Ball <cjb@laptop.org>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit d40fb83efc2285906319649d6897c034831360d0
Author: Mark Langsdorf <mark.langsdorf@calxeda.com>
Date:   Tue Oct 1 10:30:24 2013 -0500

    cpufreq: highbank-cpufreq: Enable Midway/ECX-2000
    
    commit fbbc5bfb44a22e7a8ef753a1c8dfb448d7ac8b85 upstream.
    
    Calxeda's new ECX-2000 part uses the same cpufreq interface as highbank,
    so add it to the driver's compatibility list.
    
    This is a minor change that can safely be applied to the 3.10 and 3.11
    stable trees.
    
    Signed-off-by: Mark Langsdorf <mark.langsdorf@calxeda.com>
    Acked-by: Viresh Kumar <viresh.kumar@linaro.org>
    Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit 42ca1b5d3967734d38cf2c86210a9a0d80cb5c02
Author: Wei WANG <wei_wang@realsil.com.cn>
Date:   Fri Sep 13 17:45:43 2013 +0800

    mfd: rtsx: Modify rts5249_optimize_phy
    
    commit 26b818511c6562ce372566c219a2ef1afea35fe6 upstream.
    
    In some platforms, specially Thinkpad series, rts5249 won't be
    initialized properly. So we need adjust some phy parameters to
    improve the compatibility issue.
    
    It is a little different between simulation and real chip. We have
    no idea about which configuration is better before tape-out. We set
    default settings according to simulation, but need to tune these
    parameters after getting the real chip.
    
    I can't explain every change in detail here. The below information is
    just a rough description:
    
    PHY_REG_REV: Disable internal clkreq_tx, enable rx_pwst
    PHY_BPCR: No change, just turn the magic number to macro definitions
    PHY_PCR: Change OOBS sensitivity, from 60mV to 90mV
    PHY_RCR2: Control charge-pump current automatically
    PHY_FLD4: Use TX cmu reference clock
    PHY_RDR: Change RXDSEL from 30nF to 1.9nF
    PHY_RCR1: Change the duration between adp_st and asserting cp_en from
    0.32 us to 0.64us
    PHY_FLD3: Adjust internal timers
    PHY_TUNE: Fine tune the regulator12 output voltage
    
    Signed-off-by: Wei WANG <wei_wang@realsil.com.cn>
    Signed-off-by: Lee Jones <lee.jones@linaro.org>
    Cc: Chris Ball <cjb@laptop.org>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit b204f602cf6eadc73a459bf19d9fa9e90b86b6ff
Author: James Ralston <james.d.ralston@intel.com>
Date:   Mon Nov 4 09:31:20 2013 -0800

    mfd: lpc_ich: Add Device IDs for Intel Wildcat Point-LP PCH
    
    commit 5e90169c5a02da69a1ef721bea7a823e9e48fcb6 upstream.
    
    This patch adds the TCO Watchdog Device IDs for the
    Intel Wildcat Point-LP PCH.
    
    Signed-off-by: James Ralston <james.d.ralston@intel.com>
    Signed-off-by: Samuel Ortiz <sameo@linux.intel.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit 1d7391979b51a5f20ef897d0b5710d70b05dbbc0
Author: Forest Bond <forest.bond@rapidrollout.com>
Date:   Mon Oct 21 12:38:18 2013 -0400

    Input: usbtouchscreen: ignore eGalax/D-Wav/EETI HIDs
    
    commit ae2aa3a512fa5f50f67feba9e66bc2efb394bd63 upstream.
    
    The HID driver now handles these devices, regardless of what protocol
    the device claims it supports.
    
    Signed-off-by: Forest Bond <forest.bond@rapidrollout.com>
    Acked-by: Dmitry Torokhov <dmitry.torokhov@gmail.com>
    Signed-off-by: Jiri Kosina <jkosina@suse.cz>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit afb2e2bcec7b14688981383da01a25b53b676273
Author: Forest Bond <forest.bond@rapidrollout.com>
Date:   Mon Oct 21 12:38:02 2013 -0400

    HID: don't ignore eGalax/D-Wav/EETI HIDs
    
    commit 95d50b6c5e18ff7351c5f2a6ff53afaed5f7e664 upstream.
    
    Certain devices with class HID, protocol None did not work with the HID
    driver at one point, and as a result were bound to usbtouchscreen
    instead as of commit 139ebe8 ("Input: usbtouchscreen - fix eGalax HID
    ignoring").  This change was prompted by the following report:
    
    https://lkml.org/lkml/2009/1/25/127
    
    Unfortunately, the device mentioned in this report is no longer
    available for testing.
    
    We've recently discovered that some devices with class HID, protocol
    None do not work with usbtouchscreen, but do work with usbhid.  Here is
    the report that made this evident:
    
    http://comments.gmane.org/gmane.linux.kernel.input/31710
    
    Driver binding for these devices has flip-flopped a few times, so both
    of the above reports were regressions.
    
    This situation would appear to leave us with no easy way to bind every
    device to the right driver.  However, in my own testing with several
    devices I have not found a device with class HID that does not work with
    the current HID driver.  It is my belief that changes to the HID driver
    since the original report have likely fixed the issue(s) that made it
    unsuitable at the time, and that we should prefer it over usbtouchscreen
    for these devices.  In particular, HID quirks affecting these devices
    were added/removed in the following commits since then:
    
    fe6065d HID: add multi-input quirk for eGalax Touchcontroller
    77933c3 Merge branch 'egalax' into for-linus
    ebd11fe HID: Add quirk for eGalax touch controler.
    d34c4aa HID: add no-get quirk for eGalax touch controller
    
    This patch makes the HID driver no longer ignore eGalax/D-Wav/EETI
    devices with class HID.  If there are in fact devices with class HID
    that still do not work with the HID driver, we will see another round of
    regressions.  In that case I propose we investigate why the device is
    not working with the HID driver rather than re-introduce regressions for
    functioning HID devices by again binding them to usbtouchscreen.
    
    The corresponding change to usbtouchscreen will be made separately.
    
    Signed-off-by: Forest Bond <forest.bond@rapidrollout.com>
    Signed-off-by: Jiri Kosina <jkosina@suse.cz>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit cc03bb893374cf6c20966a2a661143dc7cd2554c
Author: Tom Gundersen <teg@jklm.no>
Date:   Thu Oct 31 00:33:54 2013 -0700

    Input: i8042 - add PNP modaliases
    
    commit 78551277e4df57864b0b0e7f85c23ede2be2edb8 upstream.
    
    This allows the module to be autoloaded in the common case.
    
    In order to work on non-PnP systems the module should be compiled in or
    loaded unconditionally at boot (c.f. modules-load.d(5)), as before.
    
    Signed-off-by: Tom Gundersen <teg@jklm.no>
    Signed-off-by: Dmitry Torokhov <dmitry.torokhov@gmail.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit 05a7b2aaba98195b262f6eaebeebe39f8eb4be19
Author: Joseph Salisbury <joseph.salisbury@canonical.com>
Date:   Wed Oct 16 09:19:40 2013 -0700

    Input: cypress_ps2 - do not consider data bad if palm is detected
    
    commit 5df682b297f6b23ec35615ed7bb50cbb25d25869 upstream.
    
    If hardware (or firmware) detects palm on the surface of the device it does
    not mean that the data packet is bad from the protocol standpoint. Instead
    of reporting PSMOUSE_BAD_DATA in this case simply threat it as if nothing
    touches the surface.
    
    BugLink: http://bugs.launchpad.net/bugs/1229361
    
    Signed-off-by: Joseph Salisbury <joseph.salisbury@canonical.com>
    Tested-by: Kamal Mostafa <kamal@canonical.com>
    Signed-off-by: Dmitry Torokhov <dmitry.torokhov@gmail.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit 5dc868284408c4c99b2043c2dc742004c036a125
Author: Daniel Stone <daniel@fooishbar.org>
Date:   Thu Oct 31 00:25:34 2013 -0700

    Input: evdev - fall back to vmalloc for client event buffer
    
    commit 92eb77d0ffbaa71b501a0a8dabf09a351bf4267f upstream.
    
    evdev always tries to allocate the event buffer for clients using
    kzalloc rather than vmalloc, presumably to avoid mapping overhead where
    possible.  However, drivers like bcm5974, which claims support for
    reporting 16 fingers simultaneously, can have an extraordinarily large
    buffer.  The resultant contiguous order-4 allocation attempt fails due
    to fragmentation, and the device is thus unusable until reboot.
    
    Try kzalloc if we can to avoid the mapping overhead, but if that fails,
    fall back to vzalloc.
    
    Signed-off-by: Daniel Stone <daniels@collabora.com>
    Signed-off-by: Dmitry Torokhov <dmitry.torokhov@gmail.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit e4efb69aec74c247701802315f5799533da23492
Author: Dmitry Torokhov <dmitry.torokhov@gmail.com>
Date:   Thu Nov 14 17:36:42 2013 -0800

    Revert "Input: ALPS - add support for model found on Dell XT2"
    
    commit 936816161978ca716a56c5e553c68f25972b1e3a upstream.
    
    This reverts commit 5beea882e64121dfe3b33145767d3302afa784d5 as it
    breaks trackpoint operation on XT2.
    
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit 845058c554ca1265158b88933131ae2e73cdb554
Author: Steven Rostedt (Red Hat) <rostedt@goodmis.org>
Date:   Tue Nov 26 09:22:54 2013 -0500

    tracing: Allow events to have NULL strings
    
    commit 4e58e54754dc1fec21c3a9e824bc108b05fdf46e upstream.
    
    If an TRACE_EVENT() uses __assign_str() or __get_str on a NULL pointer
    then the following oops will happen:
    
    BUG: unable to handle kernel NULL pointer dereference at   (null)
    IP: [<c127a17b>] strlen+0x10/0x1a
    *pde = 00000000 ^M
    Oops: 0000 [#1] PREEMPT SMP
    Modules linked in:
    CPU: 1 PID: 0 Comm: swapper/1 Not tainted 3.13.0-rc1-test+ #2
    Hardware name:                  /DG965MQ, BIOS MQ96510J.86A.0372.2006.0605.1717 06/05/2006^M
    task: f5cde9f0 ti: f5e5e000 task.ti: f5e5e000
    EIP: 0060:[<c127a17b>] EFLAGS: 00210046 CPU: 1
    EIP is at strlen+0x10/0x1a
    EAX: 00000000 EBX: c2472da8 ECX: ffffffff EDX: c2472da8
    ESI: c1c5e5fc EDI: 00000000 EBP: f5e5fe84 ESP: f5e5fe80
     DS: 007b ES: 007b FS: 00d8 GS: 00e0 SS: 0068
    CR0: 8005003b CR2: 00000000 CR3: 01f32000 CR4: 000007d0
    Stack:
     f5f18b90 f5e5feb8 c10687a8 0759004f 00000005 00000005 00000005 00200046
     00000002 00000000 c1082a93 f56c7e28 c2472da8 c1082a93 f5e5fee4 c106bc61^M
     00000000 c1082a93 00000000 00000000 00000001 00200046 00200082 00000000
    Call Trace:
     [<c10687a8>] ftrace_raw_event_lock+0x39/0xc0
     [<c1082a93>] ? ktime_get+0x29/0x69
     [<c1082a93>] ? ktime_get+0x29/0x69
     [<c106bc61>] lock_release+0x57/0x1a5
     [<c1082a93>] ? ktime_get+0x29/0x69
     [<c10824dd>] read_seqcount_begin.constprop.7+0x4d/0x75
     [<c1082a93>] ? ktime_get+0x29/0x69^M
     [<c1082a93>] ktime_get+0x29/0x69
     [<c108a46a>] __tick_nohz_idle_enter+0x1e/0x426
     [<c10690e8>] ? lock_release_holdtime.part.19+0x48/0x4d
     [<c10bc184>] ? time_hardirqs_off+0xe/0x28
     [<c1068c82>] ? trace_hardirqs_off_caller+0x3f/0xaf
     [<c108a8cb>] tick_nohz_idle_enter+0x59/0x62
     [<c1079242>] cpu_startup_entry+0x64/0x192
     [<c102299c>] start_secondary+0x277/0x27c
    Code: 90 89 c6 89 d0 88 c4 ac 38 e0 74 09 84 c0 75 f7 be 01 00 00 00 89 f0 48 5e 5d c3 55 89 e5 57 66 66 66 66 90 83 c9 ff 89 c7 31 c0 <f2> ae f7 d1 8d 41 ff 5f 5d c3 55 89 e5 57 66 66 66 66 90 31 ff
    EIP: [<c127a17b>] strlen+0x10/0x1a SS:ESP 0068:f5e5fe80
    CR2: 0000000000000000
    ---[ end trace 01bc47bf519ec1b2 ]---
    
    New tracepoints have been added that have allowed for NULL pointers
    being assigned to strings. To fix this, change the TRACE_EVENT() code
    to check for NULL and if it is, it will assign "(null)" to it instead
    (similar to what glibc printf does).
    
    Reported-by: Shuah Khan <shuah.kh@samsung.com>
    Reported-by: Jovi Zhangwei <jovi.zhangwei@gmail.com>
    Link: http://lkml.kernel.org/r/CAGdX0WFeEuy+DtpsJzyzn0343qEEjLX97+o1VREFkUEhndC+5Q@mail.gmail.com
    Link: http://lkml.kernel.org/r/528D6972.9010702@samsung.com
    Fixes: 9cbf117662e2 ("tracing/events: provide string with undefined size support")
    Signed-off-by: Steven Rostedt <rostedt@goodmis.org>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit 102cbca66ad4cf45b92eb28bdb43e7a8fbd98937
Author: Takashi Iwai <tiwai@suse.de>
Date:   Thu Nov 28 11:05:28 2013 +0100

    ALSA: hda - Check leaf nodes to find aamix amps
    
    commit 2ded3e5b61d61d0bc90bebb8004db6184c7db6eb upstream.
    
    The current generic parser assumes blindly that the volume and mute
    amps are found in the aamix node itself.  But on some codecs,
    typically Analog Devices ones, the aamix amps are separately
    implemented in each leaf node of the aamix node, and the current
    driver can't establish the correct amp controls.  This is a regression
    compared with the previous static quirks.
    
    This patch extends the search for the amps to the leaf nodes for
    allowing the aamix controls again on such codecs.
    In this implementation, I didn't code to loop through the whole paths,
    since usually one depth should suffice, and we can't search too
    deeply, as it may result in the conflicting control assignments.
    
    Bugzilla: https://bugzilla.kernel.org/show_bug.cgi?id=65641
    Signed-off-by: Takashi Iwai <tiwai@suse.de>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit 01f3a15d92d94141ef2ee51f1d7da48d5f774c3d
Author: Takashi Iwai <tiwai@suse.de>
Date:   Thu Nov 28 15:21:21 2013 +0100

    ALSA: hda - Initialize missing bass speaker pin for ASUS AIO ET2700
    
    commit 1f0bbf03cb829162ec8e6d03c98aaaed88c6f534 upstream.
    
    Add a fixup entry for the missing bass speaker pin 0x16 on ASUS ET2700
    AiO desktop.  The channel map will be added in the next patch, so that
    this can be backported easily to stable kernels.
    
    Bugzilla: https://bugzilla.kernel.org/show_bug.cgi?id=65961
    Signed-off-by: Takashi Iwai <tiwai@suse.de>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit 2efc09523dd0ad37f257a36ec4dd7d3f049bb02e
Author: Takashi Iwai <tiwai@suse.de>
Date:   Tue Nov 26 08:33:45 2013 +0100

    ALSA: hda - Create Headhpone Mic Jack Mode when really needed
    
    commit ced4cefc75fdb8be95eaee325ad0f6b2fc0a484b upstream.
    
    When a headphone jack is configurable as input, the generic parser
    tries to make it retaskable as Headphone Mic.  The switching can be
    done smoothly if Capture Source control exists (i.e. there is another
    input source).  Or when user explicitly enables the creation of jack
    mode controls, "Headhpone Mic Jack Mode" will be created accordingly.
    
    However, if the headphone mic is the only input source, we have to
    create "Headphone Mic Jack Mode" control because there is no capture
    source selection.  Otherwise, the generic parser assumes that the
    input is constantly enabled, thus the headphone is permanently set
    as input.  This situation happens on the old MacBook Airs where no
    input is supported properly, for example.
    
    This patch fixes the problem: now "Headphone Mic Jack Mode" is created
    when such an input selection isn't possible.
    
    Bugzilla: https://bugzilla.kernel.org/show_bug.cgi?id=65681
    Signed-off-by: Takashi Iwai <tiwai@suse.de>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit b69acdfa4fb4d59c9f4ee2bc15c21ad0a663646c
Author: Takashi Iwai <tiwai@suse.de>
Date:   Tue Nov 26 08:44:26 2013 +0100

    ALSA: hda - Fix hp-mic mode without VREF bits
    
    commit 16c0cefe8951b2c4b824fd06011ac1b359b1ab3b upstream.
    
    When the hp mic pin has no VREF bits, the driver forgot to set PIN_IN
    bit.  Spotted during debugging old MacBook Airs.
    
    Bugzilla: https://bugzilla.kernel.org/show_bug.cgi?id=65681
    Signed-off-by: Takashi Iwai <tiwai@suse.de>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit ffea68c5183396903559d2b3cd069d6a822e5e5b
Author: Kailang Yang <kailang@realtek.com>
Date:   Tue Nov 26 15:17:50 2013 +0800

    ALSA: hda/realtek - Add support of ALC231 codec
    
    commit ba4c4d0a9021ab034554d532a98133d668b87599 upstream.
    
    It's compatible with ALC269.
    
    Signed-off-by: Kailang Yang <kailang@realtek.com>
    Signed-off-by: Takashi Iwai <tiwai@suse.de>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit f8dc56a7fc667ce0788f7095d90b52144c7a6b37
Author: Kailang Yang <kailang@realtek.com>
Date:   Tue Nov 26 15:41:40 2013 +0800

    ALSA: hda/realtek - Set pcbeep amp for ALC668
    
    commit 9ad54547cf6f4410eba83bb95dfd2a0966718d6d upstream.
    
    Set the missing pcbeep default amp for ALC668.
    
    Signed-off-by: Kailang Yang <kailang@realtek.com>
    Signed-off-by: Takashi Iwai <tiwai@suse.de>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit 764d66de37288d6baab42e07060de4f5c97089a2
Author: Peter Zijlstra <peterz@infradead.org>
Date:   Tue Nov 26 15:03:41 2013 +0100

    cpuset: Fix memory allocator deadlock
    
    commit 0fc0287c9ed1ffd3706f8b4d9b314aa102ef1245 upstream.
    
    Juri hit the below lockdep report:
    
    [    4.303391] ======================================================
    [    4.303392] [ INFO: SOFTIRQ-safe -> SOFTIRQ-unsafe lock order detected ]
    [    4.303394] 3.12.0-dl-peterz+ #144 Not tainted
    [    4.303395] ------------------------------------------------------
    [    4.303397] kworker/u4:3/689 [HC0[0]:SC0[0]:HE0:SE1] is trying to acquire:
    [    4.303399]  (&p->mems_allowed_seq){+.+...}, at: [<ffffffff8114e63c>] new_slab+0x6c/0x290
    [    4.303417]
    [    4.303417] and this task is already holding:
    [    4.303418]  (&(&q->__queue_lock)->rlock){..-...}, at: [<ffffffff812d2dfb>] blk_execute_rq_nowait+0x5b/0x100
    [    4.303431] which would create a new lock dependency:
    [    4.303432]  (&(&q->__queue_lock)->rlock){..-...} -> (&p->mems_allowed_seq){+.+...}
    [    4.303436]
    
    [    4.303898] the dependencies between the lock to be acquired and SOFTIRQ-irq-unsafe lock:
    [    4.303918] -> (&p->mems_allowed_seq){+.+...} ops: 2762 {
    [    4.303922]    HARDIRQ-ON-W at:
    [    4.303923]                     [<ffffffff8108ab9a>] __lock_acquire+0x65a/0x1ff0
    [    4.303926]                     [<ffffffff8108cbe3>] lock_acquire+0x93/0x140
    [    4.303929]                     [<ffffffff81063dd6>] kthreadd+0x86/0x180
    [    4.303931]                     [<ffffffff816ded6c>] ret_from_fork+0x7c/0xb0
    [    4.303933]    SOFTIRQ-ON-W at:
    [    4.303933]                     [<ffffffff8108abcc>] __lock_acquire+0x68c/0x1ff0
    [    4.303935]                     [<ffffffff8108cbe3>] lock_acquire+0x93/0x140
    [    4.303940]                     [<ffffffff81063dd6>] kthreadd+0x86/0x180
    [    4.303955]                     [<ffffffff816ded6c>] ret_from_fork+0x7c/0xb0
    [    4.303959]    INITIAL USE at:
    [    4.303960]                    [<ffffffff8108a884>] __lock_acquire+0x344/0x1ff0
    [    4.303963]                    [<ffffffff8108cbe3>] lock_acquire+0x93/0x140
    [    4.303966]                    [<ffffffff81063dd6>] kthreadd+0x86/0x180
    [    4.303969]                    [<ffffffff816ded6c>] ret_from_fork+0x7c/0xb0
    [    4.303972]  }
    
    Which reports that we take mems_allowed_seq with interrupts enabled. A
    little digging found that this can only be from
    cpuset_change_task_nodemask().
    
    This is an actual deadlock because an interrupt doing an allocation will
    hit get_mems_allowed()->...->__read_seqcount_begin(), which will spin
    forever waiting for the write side to complete.
    
    Cc: John Stultz <john.stultz@linaro.org>
    Cc: Mel Gorman <mgorman@suse.de>
    Reported-by: Juri Lelli <juri.lelli@gmail.com>
    Signed-off-by: Peter Zijlstra <peterz@infradead.org>
    Tested-by: Juri Lelli <juri.lelli@gmail.com>
    Acked-by: Li Zefan <lizefan@huawei.com>
    Acked-by: Mel Gorman <mgorman@suse.de>
    Signed-off-by: Tejun Heo <tj@kernel.org>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit e6af24fef5c9ed17a25f062b3c22c3df44904dc9
Author: Tejun Heo <tj@kernel.org>
Date:   Wed Nov 27 18:16:21 2013 -0500

    cgroup: fix cgroup_subsys_state leak for seq_files
    
    commit e605b36575e896edd8161534550c9ea021b03bc0 upstream.
    
    If a cgroup file implements either read_map() or read_seq_string(),
    such file is served using seq_file by overriding file->f_op to
    cgroup_seqfile_operations, which also overrides the release method to
    single_release() from cgroup_file_release().
    
    Because cgroup_file_open() didn't use to acquire any resources, this
    used to be fine, but since f7d58818ba42 ("cgroup: pin
    cgroup_subsys_state when opening a cgroupfs file"), cgroup_file_open()
    pins the css (cgroup_subsys_state) which is put by
    cgroup_file_release().  The patch forgot to update the release path
    for seq_files and each open/release cycle leaks a css reference.
    
    Fix it by updating cgroup_file_release() to also handle seq_files and
    using it for seq_file release path too.
    
    Signed-off-by: Tejun Heo <tj@kernel.org>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit 65d6ec10c7cf2575de2aa9159f8cf43cbc1074fe
Author: Tejun Heo <tj@kernel.org>
Date:   Fri Nov 22 17:14:39 2013 -0500

    cgroup: use a dedicated workqueue for cgroup destruction
    
    commit e5fca243abae1445afbfceebda5f08462ef869d3 upstream.
    
    Since be44562613851 ("cgroup: remove synchronize_rcu() from
    cgroup_diput()"), cgroup destruction path makes use of workqueue.  css
    freeing is performed from a work item from that point on and a later
    commit, ea15f8ccdb430 ("cgroup: split cgroup destruction into two
    steps"), moves css offlining to workqueue too.
    
    As cgroup destruction isn't depended upon for memory reclaim, the
    destruction work items were put on the system_wq; unfortunately, some
    controller may block in the destruction path for considerable duration
    while holding cgroup_mutex.  As large part of destruction path is
    synchronized through cgroup_mutex, when combined with high rate of
    cgroup removals, this has potential to fill up system_wq's max_active
    of 256.
    
    Also, it turns out that memcg's css destruction path ends up queueing
    and waiting for work items on system_wq through work_on_cpu().  If
    such operation happens while system_wq is fully occupied by cgroup
    destruction work items, work_on_cpu() can't make forward progress
    because system_wq is full and other destruction work items on
    system_wq can't make forward progress because the work item waiting
    for work_on_cpu() is holding cgroup_mutex, leading to deadlock.
    
    This can be fixed by queueing destruction work items on a separate
    workqueue.  This patch creates a dedicated workqueue -
    cgroup_destroy_wq - for this purpose.  As these work items shouldn't
    have inter-dependencies and mostly serialized by cgroup_mutex anyway,
    giving high concurrency level doesn't buy anything and the workqueue's
    @max_active is set to 1 so that destruction work items are executed
    one by one on each CPU.
    
    Hugh Dickins: Because cgroup_init() is run before init_workqueues(),
    cgroup_destroy_wq can't be allocated from cgroup_init().  Do it from a
    separate core_initcall().  In the future, we probably want to reorder
    so that workqueue init happens before cgroup_init().
    
    Signed-off-by: Tejun Heo <tj@kernel.org>
    Reported-by: Hugh Dickins <hughd@google.com>
    Reported-by: Shawn Bohrer <shawn.bohrer@gmail.com>
    Link: http://lkml.kernel.org/r/20131111220626.GA7509@sbohrermbp13-local.rgmadvisors.com
    Link: http://lkml.kernel.org/g/alpine.LNX.2.00.1310301606080.2333@eggly.anvils
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit a432a4023f22f8c0aa9fa7262b124354351e6390
Author: Tejun Heo <tj@kernel.org>
Date:   Thu Sep 5 12:30:04 2013 -0400

    workqueue: fix ordered workqueues in NUMA setups
    
    commit 8a2b75384444488fc4f2cbb9f0921b6a0794838f upstream.
    
    An ordered workqueue implements execution ordering by using single
    pool_workqueue with max_active == 1.  On a given pool_workqueue, work
    items are processed in FIFO order and limiting max_active to 1
    enforces the queued work items to be processed one by one.
    
    Unfortunately, 4c16bd327c ("workqueue: implement NUMA affinity for
    unbound workqueues") accidentally broke this guarantee by applying
    NUMA affinity to ordered workqueues too.  On NUMA setups, an ordered
    workqueue would end up with separate pool_workqueues for different
    nodes.  Each pool_workqueue still limits max_active to 1 but multiple
    work items may be executed concurrently and out of order depending on
    which node they are queued to.
    
    Fix it by using dedicated ordered_wq_attrs[] when creating ordered
    workqueues.  The new attrs match the unbound ones except that no_numa
    is always set thus forcing all NUMA nodes to share the default
    pool_workqueue.
    
    While at it, add sanity check in workqueue creation path which
    verifies that an ordered workqueues has only the default
    pool_workqueue.
    
    Signed-off-by: Tejun Heo <tj@kernel.org>
    Reported-by: Libin <huawei.libin@huawei.com>
    Cc: Lai Jiangshan <laijs@cn.fujitsu.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit 6ae0751e8bcef43bd68c3a68117f7a76895fe4db
Author: Heiko Carstens <heiko.carstens@de.ibm.com>
Date:   Thu Nov 21 16:22:17 2013 +0100

    s390/uaccess: add missing page table walk range check
    
    commit 71a86ef055f569b93bc6901f007bdf447dbf515f upstream.
    
    When translating a user space address, the address must be checked against
    the ASCE limit of the process. If the address is larger than the maximum
    address that is reachable with the ASCE, an ASCE type exception must be
    generated.
    
    The current code simply ignored the higher order bits. This resulted in an
    address wrap around in user space instead of an exception in user space.
    
    Reviewed-by: Gerald Schaefer <gerald.schaefer@de.ibm.com>
    Signed-off-by: Heiko Carstens <heiko.carstens@de.ibm.com>
    Signed-off-by: Martin Schwidefsky <schwidefsky@de.ibm.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit 39cacefa893b2c4362bbb60ac3da4de1a442c007
Author: Catalin Marinas <catalin.marinas@arm.com>
Date:   Wed Nov 27 16:59:27 2013 +0000

    arm64: Move PTE_PROT_NONE higher up
    
    commit 3676f9ef5481d614f8c5c857f5319755be248268 upstream.
    
    PTE_PROT_NONE means that a pte is present but does not have any
    read/write attributes. However, setting the memory type like
    pgprot_writecombine() is allowed and such bits overlap with
    PTE_PROT_NONE. This causes mmap/munmap issues in drivers that change the
    vma->vm_pg_prot on PROT_NONE mappings.
    
    This patch reverts the PTE_FILE/PTE_PROT_NONE shift in commit
    59911ca4325d (ARM64: mm: Move PTE_PROT_NONE bit) and moves PTE_PROT_NONE
    together with the other software bits.
    
    Signed-off-by: Steve Capper <steve.capper@linaro.org>
    Signed-off-by: Catalin Marinas <catalin.marinas@arm.com>
    Tested-by: Steve Capper <steve.capper@linaro.org>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit fd5cd457f8de18a96a59655a7c432fda96aaea60
Author: Frank Zago <frank@zago.net>
Date:   Wed Nov 13 22:53:00 2013 +0000

    iio:accel:kxsd9 fix missing mutex unlock
    
    commit 0ee005c7dc2803125275e24598f0fb37775a6af3 upstream.
    
    This will leave a lock held after reading from the device, preventing
    any further reads.
    
    Signed-off-by: Frank Zago <frank@zago.net>
    Signed-off-by: Jonathan Cameron <jic23@kernel.org>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit 5bdecef947f289555686de327a7bd5ac9142cfa7
Author: Michael Neuling <mikey@neuling.org>
Date:   Mon Nov 25 11:12:20 2013 +1100

    powerpc/signals: Improved mark VSX not saved with small contexts fix
    
    commit ec67ad82814bee92251fd963bf01c7a173856555 upstream.
    
    In a recent patch:
      commit c13f20ac48328b05cd3b8c19e31ed6c132b44b42
      Author: Michael Neuling <mikey@neuling.org>
      powerpc/signals: Mark VSX not saved with small contexts
    
    We fixed an issue but an improved solution was later discussed after the patch
    was merged.
    
    Firstly, this patch doesn't handle the 64bit signals case, which could also hit
    this issue (but has never been reported).
    
    Secondly, the original patch isn't clear what MSR VSX should be set to.  The
    new approach below always clears the MSR VSX bit (to indicate no VSX is in the
    context) and sets it only in the specific case where VSX is available (ie. when
    VSX has been used and the signal context passed has space to provide the
    state).
    
    This reverts the original patch and replaces it with the improved solution.  It
    also adds a 64 bit version.
    
    Signed-off-by: Michael Neuling <mikey@neuling.org>
    Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit 368882d5acaad71ee5811a9e12d29688a1a490b6
Author: David Herrmann <dh.herrmann@gmail.com>
Date:   Tue Nov 26 13:58:18 2013 +0100

    HID: uhid: fix leak for 64/32 UHID_CREATE
    
    commit 80897aa787ecd58eabb29deab7cbec9249c9b7e6 upstream.
    
    UHID allows short writes so user-space can omit unused fields. We
    automatically set them to 0 in the kernel. However, the 64/32 bit
    compat-handler didn't do that in the UHID_CREATE fallback. This will
    reveal random kernel heap data (of random size, even) to user-space.
    
    Fixes: befde0226a59 ('HID: uhid: make creating devices work on 64/32 systems')
    
    Reported-by: Ben Hutchings <ben@decadent.org.uk>
    Signed-off-by: David Herrmann <dh.herrmann@gmail.com>
    Signed-off-by: Jiri Kosina <jkosina@suse.cz>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit 52df633c9c9c92264e04e1ead9290e5192a8768e
Author: NeilBrown <neilb@suse.de>
Date:   Thu Nov 28 10:34:18 2013 +1100

    md: test mddev->flags more safely in md_check_recovery.
    
    commit 142d44c310819e1965ca70b4d55d7679f5797e25 upstream.
    
    commit 7a0a5355cbc71efa md: Don't test all of mddev->flags at once.
    made most tests on mddev->flags safer, but missed one.
    
    When
    commit 260fa034ef7a4ff8b7306 md: avoid deadlock when dirty buffers during md_stop.
    added MD_STILL_CLOSED, this caused md_check_recovery to misbehave.
    It can think there is something to do but find nothing.  This can
    lead to the md thread spinning during array shutdown.
    
    https://bugzilla.kernel.org/show_bug.cgi?id=65721
    
    Reported-and-tested-by: Richard W.M. Jones <rjones@redhat.com>
    Fixes: 260fa034ef7a4ff8b7306
    Signed-off-by: NeilBrown <neilb@suse.de>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit 2501e938cf2350ca719e423b3aa30e7303805b7c
Author: majianpeng <majianpeng@gmail.com>
Date:   Thu Nov 14 15:16:19 2013 +1100

    md/raid5: Before freeing old multi-thread worker, it should flush them.
    
    commit d206dcfa9809ec3409483e93b5e362f801fa0c27 upstream.
    
    When changing group_thread_cnt from sysfs entry, the kernel can oops.
    
    The kernel messages are:
    [  740.961389] BUG: unable to handle kernel NULL pointer dereference at 0000000000000008
    [  740.961444] IP: [<ffffffff81062570>] process_one_work+0x30/0x500
    [  740.961476] PGD b9013067 PUD b651e067 PMD 0
    [  740.961503] Oops: 0000 [#1] SMP
    [  740.961525] Modules linked in: netconsole e1000e ptp pps_core
    [  740.961577] CPU: 0 PID: 3683 Comm: kworker/u8:5 Not tainted 3.12.0+ #23
    [  740.961602] Hardware name: To Be Filled By O.E.M. To Be Filled By O.E.M./To be filled by O.E.M., BIOS 080015  11/09/2011
    [  740.961646] task: ffff88013abe0000 ti: ffff88013a246000 task.ti: ffff88013a246000
    [  740.961673] RIP: 0010:[<ffffffff81062570>]  [<ffffffff81062570>] process_one_work+0x30/0x500
    [  740.961708] RSP: 0018:ffff88013a247e08  EFLAGS: 00010086
    [  740.961730] RAX: ffff8800b912b400 RBX: ffff88013a61e680 RCX: ffff8800b912b400
    [  740.961757] RDX: ffff8800b912b600 RSI: ffff8800b912b600 RDI: ffff88013a61e680
    [  740.961782] RBP: ffff88013a247e48 R08: ffff88013a246000 R09: 000000000002c09d
    [  740.961808] R10: 000000000000010f R11: 0000000000000000 R12: ffff88013b00cc00
    [  740.961833] R13: 0000000000000000 R14: ffff88013b00cf80 R15: ffff88013a61e6b0
    [  740.961861] FS:  0000000000000000(0000) GS:ffff88013fc00000(0000) knlGS:0000000000000000
    [  740.961893] CS:  0010 DS: 0000 ES: 0000 CR0: 000000008005003b
    [  740.962001] CR2: 00000000000000b8 CR3: 00000000b24fe000 CR4: 00000000000407f0
    [  740.962001] Stack:
    [  740.962001]  0000000000000008 ffff8800b912b600 ffff88013b00cc00 ffff88013a61e680
    [  740.962001]  ffff88013b00cc00 ffff88013b00cc18 ffff88013b00cf80 ffff88013a61e6b0
    [  740.962001]  ffff88013a247eb8 ffffffff810639c6 0000000000012a80 ffff88013a247fd8
    [  740.962001] Call Trace:
    [  740.962001]  [<ffffffff810639c6>] worker_thread+0x206/0x3f0
    [  740.962001]  [<ffffffff810637c0>] ? manage_workers+0x2c0/0x2c0
    [  740.962001]  [<ffffffff81069656>] kthread+0xc6/0xd0
    [  740.962001]  [<ffffffff81069590>] ? kthread_freezable_should_stop+0x70/0x70
    [  740.962001]  [<ffffffff81722ffc>] ret_from_fork+0x7c/0xb0
    [  740.962001]  [<ffffffff81069590>] ? kthread_freezable_should_stop+0x70/0x70
    [  740.962001] Code: 89 e5 41 57 41 56 41 55 45 31 ed 41 54 53 48 89 fb 48 83 ec 18 48 8b 06 4c 8b 67 48 48 89 c1 30 c9 a8 04 4c 0f 45 e9 80 7f 58 00 <49> 8b 45 08 44 8b b0 00 01 00 00 78 0c 41 f6 44 24 10 04 0f 84
    [  740.962001] RIP  [<ffffffff81062570>] process_one_work+0x30/0x500
    [  740.962001]  RSP <ffff88013a247e08>
    [  740.962001] CR2: 0000000000000008
    [  740.962001] ---[ end trace 39181460000748de ]---
    [  740.962001] Kernel panic - not syncing: Fatal exception
    
    This can happen if there are some stripes left, fewer than MAX_STRIPE_BATCH.
    A worker is queued to handle them.
    But before calling raid5_do_work, raid5d handles those
    stripes making conf->active_stripe = 0.
    So mddev_suspend() can return.
    We might then free old worker resources before the queued
    raid5_do_work() handled them.  When it runs, it crashes.
    
    	raid5d()		raid5_store_group_thread_cnt()
    	queue_work		mddev_suspend()
    				handle_strips
    				active_stripe=0
    				free(old worker resources)
    	process_one_work
    	raid5_do_work
    
    To avoid this, we should only flush the worker resources before freeing them.
    
    This fixes a bug introduced in 3.12 so is suitable for the 3.12.x
    stable series.
    
    Fixes: b721420e8719131896b009b11edbbd27
    Signed-off-by: Jianpeng Ma <majianpeng@gmail.com>
    Signed-off-by: NeilBrown <neilb@suse.de>
    Reviewed-by: Shaohua Li <shli@kernel.org>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit 2befeea454107590a5f6db1e5839cadfa599eb34
Author: NeilBrown <neilb@suse.de>
Date:   Thu Nov 14 15:16:15 2013 +1100

    md: fix calculation of stacking limits on level change.
    
    commit 02e5f5c0a0f726e66e3d8506ea1691e344277969 upstream.
    
    The various ->run routines of md personalities assume that the 'queue'
    has been initialised by the blk_set_stacking_limits() call in
    md_alloc().
    
    However when the level is changed (by level_store()) the ->run routine
    for the new level is called for an array which has already had the
    stacking limits modified.  This can result in incorrect final
    settings.
    
    So call blk_set_stacking_limits() before ->run in level_store().
    
    A specific consequence of this bug is that it causes
    discard_granularity to be set incorrectly when reshaping a RAID4 to a
    RAID0.
    
    This is suitable for any -stable kernel since 3.3 in which
    blk_set_stacking_limits() was introduced.
    
    Reported-and-tested-by: "Baldysiak, Pawel" <pawel.baldysiak@intel.com>
    Signed-off-by: NeilBrown <neilb@suse.de>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit 0524a6bf9f76d51cfb1d96622bffedf1219990fb
Author: majianpeng <majianpeng@gmail.com>
Date:   Thu Nov 14 15:16:15 2013 +1100

    raid5: Use slow_path to release stripe when mddev->thread is null
    
    commit ad4068de49862b083ac2a15bc50689bb30ce3e44 upstream.
    
    When release_stripe() is called in grow_one_stripe(), the
    mddev->thread is null. So it will omit one wakeup this thread to
    release stripe.
    For this condition, use slow_path to release stripe.
    
    Bug was introduced in 3.12
    
    Fixes: 773ca82fa1ee58dd1bf88b
    Signed-off-by: Jianpeng Ma <majianpeng@gmail.com>
    Signed-off-by: NeilBrown <neilb@suse.de>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit bf96a2e6b0f40b1e48992edde49e7eae8d5923d1
Author: Steve French <smfrench@gmail.com>
Date:   Fri Nov 15 20:41:32 2013 -0600

    setfacl removes part of ACL when setting POSIX ACLs to Samba
    
    commit b1d93356427be6f050dc55c86eb019d173700af6 upstream.
    
    setfacl over cifs mounts can remove the default ACL when setting the
    (non-default part of) the ACL and vice versa (we were leaving at 0
    rather than setting to -1 the count field for the unaffected
    half of the ACL.  For example notice the setfacl removed
    the default ACL in this sequence:
    
    steven@steven-GA-970A-DS3:~/cifs-2.6$ getfacl /mnt/test-dir ; setfacl
    -m default:user:test:rwx,user:test:rwx /mnt/test-dir
    getfacl: Removing leading '/' from absolute path names
    user::rwx
    group::r-x
    other::r-x
    default:user::rwx
    default:user:test:rwx
    default:group::r-x
    default:mask::rwx
    default:other::r-x
    
    steven@steven-GA-970A-DS3:~/cifs-2.6$ getfacl /mnt/test-dir
    getfacl: Removing leading '/' from absolute path names
    user::rwx
    user:test:rwx
    group::r-x
    mask::rwx
    other::r-x
    
    Signed-off-by: Steve French <smfrench@gmail.com>
    Acked-by: Jeremy Allison <jra@samba.org>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit 609019e277fe8b271c2138b18369c3053aeb9a7b
Author: David Herrmann <dh.herrmann@gmail.com>
Date:   Mon Oct 28 17:47:53 2013 +0100

    HID: wiimote: fix inverted pro-controller axes
    
    commit 0abda6fa81dced031e3df31ac29bfb253549c2d1 upstream.
    
    The analog-stick vertical axes are inverted. Fix that! Otherwise, games
    and other gamepad applications need to carry their own fixups (which they
    thankfully haven't done, yet).
    
    Reported-by: Rafael Brune <mail@rbrune.de>
    Tested-by: Rafael Brune <mail@rbrune.de>
    Signed-off-by: David Herrmann <dh.herrmann@gmail.com>
    Signed-off-by: Jiri Kosina <jkosina@suse.cz>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit 5ec3e763796bb778fb54663397c4df55967950cc
Author: Robert Richter <robert.richter@linaro.org>
Date:   Thu Oct 10 18:23:38 2013 +0200

    edac, highbank: Fix interrupt setup of mem and l2 controller
    
    commit a72b8859fd3941cc1d2940d5c43026d2c6fb959e upstream.
    
    Register and enable interrupts after the edac registration. Otherwise
    incomming ecc error interrupts lead to crashes during device setup.
    
    Fixing this in drivers for mc and l2.
    
    Signed-off-by: Robert Richter <robert.richter@linaro.org>
    Acked-by: Rob Herring <rob.herring@calxeda.com>
    Signed-off-by: Robert Richter <rric@kernel.org>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit 10948410cdc954f2f7351699a7b7c1f51f7115ca
Author: Nicholas Bellinger <nab@linux-iscsi.org>
Date:   Tue Nov 12 18:05:07 2013 -0800

    ib_isert: Avoid duplicate iscsit_increment_maxcmdsn call
    
    commit 04d9cd1224e5bc9d6146bab2866cdc81deb9b509 upstream.
    
    This patch avoids a duplicate iscsit_increment_maxcmdsn() call for
    ISER_IB_RDMA_WRITE within isert_map_rdma() + isert_reg_rdma_frwr(),
    which will already be occuring once during isert_put_datain() ->
    iscsit_build_rsp_pdu() operation.
    
    It also removes the local conn->stat_sn assignment + increment,
    and changes the third parameter to iscsit_build_rsp_pdu() to
    signal this should be done by iscsi_target_mode code.
    
    Tested-by: Moussa Ba <moussaba@micron.com>
    Signed-off-by: Nicholas Bellinger <nab@linux-iscsi.org>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit b82f7e1e06fc1b7cbef13eb7a0a18968eeb657fd
Author: Jerome Glisse <jglisse@redhat.com>
Date:   Tue Nov 12 10:51:16 2013 -0500

    radeon: workaround pinning failure on low ram gpu
    
    commit 97b6ff6be9da7675aab339334fda996d6c5077d9 upstream.
    
    GPU with low amount of ram can fails at pinning new framebuffer before
    unpinning old one. On such failure, retry with unpinning old one before
    pinning new one allowing to work around the issue. This is somewhat
    ugly but only affect those old GPU we care about.
    
    Signed-off-by: Jerome Glisse <jglisse@redhat.com>
    Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit a6573fea8f65709bbacc81957dc68c857fc0f71d
Author: Alex Deucher <alexander.deucher@amd.com>
Date:   Thu Nov 14 10:17:34 2013 -0500

    drm/radeon: adjust TN dpm parameters for stability (v2)
    
    commit 958b84fb3bef193198538b5c5902fa687cc8363f upstream.
    
    Adjust some of the TN dpm settings for stability.  Enabling
    these features causes hangs and other stability problems
    on certain boards.
    
    v2: leave uvd dpm enabled
    
    Bug:
    https://bugzilla.kernel.org/show_bug.cgi?id=63101
    
    Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit 7733dc47769cc79aa5dbf387c46b88a4558735e6
Author: Samuel Li <samuel.li@amd.com>
Date:   Tue Nov 19 15:04:45 2013 -0500

    drm/radeon: hook up backlight functions for CI and KV family.
    
    commit 7272c9d2286525d4c6bce788243cf2b6f306d15c upstream.
    
    Fixes crashes when handling atif events due to the lack of a
    callback being registered.
    
    Signed-off-by: Samuel Li <samuel.li@amd.com>
    Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit 2d7623405df2373c4c45958bdccd1ad3ca33c874
Author: Jerome Glisse <jglisse@redhat.com>
Date:   Wed Nov 6 17:42:02 2013 -0500

    radeon/i2c: do not count reg index in number of i2c byte we are writing.
    
    commit fae009d15a44e5f1d938340facf4b8bc7dc69a09 upstream.
    
    Useless to count the register index in number of bytes we are writing.
    
    Fixes a regression with hw i2c enabled.
    
    Signed-off-by: Jerome Glisse <jglisse@redhat.com>
    Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit 356a1040f9fc0abf76e4549ce7ca0d4f1ef2dea9
Author: Alex Deucher <alexander.deucher@amd.com>
Date:   Thu Oct 31 16:43:27 2013 -0400

    drm/radeon: don't share PPLLs on DCE4.1
    
    commit 70471860ff9f335c60c004d42ebd48945bfa5403 upstream.
    
    Sharing PPLLs seems to cause problems on some boards.
    
    Bug:
    https://bugs.freedesktop.org/show_bug.cgi?id=45334
    
    Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit e3a165ff5466429ed2a2436e6f7bcb3b84748905
Author: Christian König <christian.koenig@amd.com>
Date:   Wed Oct 30 12:56:05 2013 +0100

    drm/radeon: fix UVD destroy IB size
    
    commit 727ddc84a1373bf06b2fa261f44e38fb0faf5340 upstream.
    
    The parameter is in bytes not dwords.
    
    Signed-off-by: Christian König <christian.koenig@amd.com>
    Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit ce5b8c459fdbfc02889985b788a2124d2ed3afaf
Author: Christian König <christian.koenig@amd.com>
Date:   Wed Oct 30 12:56:04 2013 +0100

    drm/radeon: activate UVD clocks before sending the destroy msg
    
    commit c154a76311293f9671439286834aa325b7ef59fe upstream.
    
    Make sure the UVD clocks are still active before sending
    the destroy message, otherwise the hw might hang.
    
    Signed-off-by: Christian König <christian.koenig@amd.com>
    Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit a7bba348aee58af8c33c38524ddae6bce27bb92c
Author: Alex Deucher <alexander.deucher@amd.com>
Date:   Mon Oct 28 10:56:23 2013 -0400

    drm/radeon/si: fix define for MC_SEQ_TRAIN_WAKEUP_CNTL
    
    commit d5693761b2b4ff530c8af8af9ec55b6eae76e617 upstream.
    
    Typo in the register offset.
    
    Noticed-by: Sylvain BERTRAND <sylware@legeek.net>
    Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit 1e9336d46bb6303309fd12327476b621437277cf
Author: Ben Skeggs <bskeggs@redhat.com>
Date:   Wed Nov 13 15:18:32 2013 +1000

    drm/nouveau: when bailing out of a pushbuf ioctl, do not remove previous fence
    
    commit 9360bd1112d8874d21942e2ae74f5416b00a8db6 upstream.
    
    Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit 451dfcc86f984335062ccd210de36517b990f103
Author: Daniel Vetter <daniel.vetter@ffwll.ch>
Date:   Mon Nov 18 07:38:16 2013 +0100

    drm/i915: Replicate BIOS eDP bpp clamping hack for hsw
    
    commit 1021442098ee9328fdd4d113d63a3a7f2f40c37b upstream.
    
    Haswell's DDI encoders have their own ->get_config callback and in
    
    commit c6cd2ee2d59111a07cd9199564c9bdcb2d11e5cf
    Author: Jani Nikula <jani.nikula@intel.com>
    Date:   Mon Oct 21 10:52:07 2013 +0300
    
        drm/i915/dp: workaround BIOS eDP bpp clamping issue
    
    we've forgotten to replicate this hack. So let's do it that.
    
    Note for backporters: The above commit and all it's depencies need to
    be backported first.
    
    Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=71049
    Tested-by: Gökçen Eraslan <gokcen.eraslan@gmail.com>
    Reviewed-by: Ville Syrjälä <ville.syrjala@linux.intel.com>
    Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit 137fdccb68a4b03663f81a6e107a7603d5929f4e
Author: Daniel Vetter <daniel.vetter@ffwll.ch>
Date:   Sat Nov 16 16:00:09 2013 +0100

    drm/i915: restore the early forcewake cleanup
    
    commit ef46e0d247da0a7a408573aa15870e231bbd4af2 upstream.
    
    Some BIOS just leak the forcewak bits, which we clean up.
    Unfortunately this has been broken in
    
    commit 521198a2e7095c8c7daa8d7d3a76a110c346be6f
    Author: Mika Kuoppala <mika.kuoppala@linux.intel.com>
    Date:   Fri Aug 23 16:52:30 2013 +0300
    
        drm/i915: sanitize forcewake registers on reset
    
    To make this work both for resets and for BIOS takeover just add the
    forcewake clearing call back to intel_uncore_early_sanitize.
    
    We need to clear the forcewake in early sanitize so that the forcewak
    dance in intel_uncore_init (to figure out whether we have mt or legacy
    forcewake on ivb) works. That cleanup fits in nicely with the general
    topic of early_sanitize to prepare for the very first mmio ops.
    
    Cc: Mika Kuoppala <mika.kuoppala@linux.intel.com>
    Cc: Chris Wilson <chris@chris-wilson.co.uk>
    Reported-by: Jörg Otte <jrg.otte@gmail.com>
    Cc: Jörg Otte <jrg.otte@gmail.com>
    References: https://lkml.org/lkml/2013/11/16/40
    Reviewed-by: Chris Wilson <chris@chris-wilson.co.uk>
    Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit 341227c6e5f59278854060a18b0b30ea65f5883b
Author: Daniel Vetter <daniel.vetter@ffwll.ch>
Date:   Mon Nov 4 08:13:45 2013 +0100

    drm/i915: flush cursors harder
    
    commit b2ea8ef559b4d94190009f3651b5b3ab7c05afd3 upstream.
    
    Apparently they need the same treatment as primary planes. This fixes
    modesetting failures because of stuck cursors (!) on Thomas' i830M
    machine.
    
    I've figured while at it I'll also roll it out for the ivb 3 pipe
    version of this function. I didn't do this for i845/i865 since Bspec
    says the update mechanism works differently, and there's some
    additional rules about what can be updated in which order.
    
    Tested-by: Thomas Richter <thor@math.tu-berlin.de>
    Cc:  Thomas Richter <thor@math.tu-berlin.de>
    Cc: Ville Syrjälä <ville.syrjala@linux.intel.com>
    Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit b6c24a09d57be8d2f36e6b34aa98617fb2c08912
Author: Daniel Vetter <daniel.vetter@ffwll.ch>
Date:   Tue Oct 8 12:25:42 2013 +0200

    drm/i915/dvo: call ->mode_set callback only when the port is running
    
    commit 48f34e10169dbb3dd7a19af64e328492b7f54af4 upstream.
    
    The ns2501 controller seems to need the dpll and dvo port to accept
    the timing update commands. Quick testing on my x30 here seems to
    indicate that other dvo controllers don't mind. So let's move the
    ->mode_set callback to a place where we have the port up and running
    already.
    
    Tested-by: Chris Wilson <chris@chris-wilson.co.uk>
    Tested-by: Thomas Richter <thor@math.tu-berlin.de>
    Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit 0200fea72f2e49d096c95845e58a242fca2bf168
Author: Thomas Hellstrom <thellstrom@vmware.com>
Date:   Wed Oct 30 03:29:50 2013 -0700

    drm/ttm: Fix ttm_bo_move_memcpy
    
    commit da95c788ef0c645378ffccb7060a0df1a33aee38 upstream.
    
    All error paths will want to keep the mm node, so handle this at the
    function exit. This fixes an ioremap failure error path.
    Also add some comments to make the function a bit easier to understand.
    
    Signed-off-by: Thomas Hellstrom <thellstrom@vmware.com>
    Reviewed-by: Jakob Bornecrantz <jakob@vmware.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit 032cefc6d64dee023a98a41f56b5c16487eb202b
Author: Jakob Bornecrantz <jakob@vmware.com>
Date:   Wed Oct 30 02:46:56 2013 -0700

    drm/ttm: Handle in-memory region copies
    
    commit 9a0599ddeae012a771bba5e23393fc52d8a59d89 upstream.
    
    Fix the case where the ttm pointer may be NULL causing
    a NULL pointer dereference.
    
    Signed-off-by: Jakob Bornecrantz <jakob@vmware.com>
    Signed-off-by: Thomas Hellström <thellstrom@vmware.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit ca530d3002a6670445585e0311cb46bcaa548fd2
Author: Thomas Hellstrom <thellstrom@vmware.com>
Date:   Mon Oct 28 02:02:19 2013 -0700

    drm/ttm: Fix memory type compatibility check
    
    commit 59c8e66378fb78adbcd05f0d09783dde6fef282b upstream.
    
    Also check the busy placements before deciding to move a buffer object.
    Failing to do this may result in a completely unneccessary move within a
    single memory type.
    
    Signed-off-by: Thomas Hellstrom <thellstrom@vmware.com>
    Reviewed-by: Jakob Bornecrantz <jakob@vmware.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit ef3014f8f4dc2a80899e81b81138b067348c8321
Author: Thomas Hellstrom <thellstrom@vmware.com>
Date:   Tue Nov 12 00:09:54 2013 -0800

    drm/vmwgfx: Resource evict fixes
    
    commit ea029c28deadc33d2af4baf26810dd5fc44d4926 upstream.
    
    Fix an error message that was incorrectly blaming device resource id
    shortage.
    
    Also make sure we correctly catch resource eviction errors, that
    could otherwise lead to evictable resources temporarily not being on the
    LRU list.
    
    Signed-off-by: Thomas Hellstrom <thellstrom@vmware.com>
    Reviewed-by: Jakob Bornecrantz <jakob@vmware.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit 189f4e672fc1c086f78818affc810ef29dda42a3
Author: Steven Rostedt (Red Hat) <rostedt@goodmis.org>
Date:   Mon Nov 25 20:59:46 2013 -0500

    ftrace: Fix function graph with loading of modules
    
    commit 8a56d7761d2d041ae5e8215d20b4167d8aa93f51 upstream.
    
    Commit 8c4f3c3fa9681 "ftrace: Check module functions being traced on reload"
    fixed module loading and unloading with respect to function tracing, but
    it missed the function graph tracer. If you perform the following
    
     # cd /sys/kernel/debug/tracing
     # echo function_graph > current_tracer
     # modprobe nfsd
     # echo nop > current_tracer
    
    You'll get the following oops message:
    
     ------------[ cut here ]------------
     WARNING: CPU: 2 PID: 2910 at /linux.git/kernel/trace/ftrace.c:1640 __ftrace_hash_rec_update.part.35+0x168/0x1b9()
     Modules linked in: nfsd exportfs nfs_acl lockd ipt_MASQUERADE sunrpc ip6t_REJECT nf_conntrack_ipv6 nf_defrag_ipv6 ip6table_filter ip6_tables uinput snd_hda_codec_idt
     CPU: 2 PID: 2910 Comm: bash Not tainted 3.13.0-rc1-test #7
     Hardware name: To Be Filled By O.E.M. To Be Filled By O.E.M./To be filled by O.E.M., BIOS SDBLI944.86P 05/08/2007
      0000000000000668 ffff8800787efcf8 ffffffff814fe193 ffff88007d500000
      0000000000000000 ffff8800787efd38 ffffffff8103b80a 0000000000000668
      ffffffff810b2b9a ffffffff81a48370 0000000000000001 ffff880037aea000
     Call Trace:
      [<ffffffff814fe193>] dump_stack+0x4f/0x7c
      [<ffffffff8103b80a>] warn_slowpath_common+0x81/0x9b
      [<ffffffff810b2b9a>] ? __ftrace_hash_rec_update.part.35+0x168/0x1b9
      [<ffffffff8103b83e>] warn_slowpath_null+0x1a/0x1c
      [<ffffffff810b2b9a>] __ftrace_hash_rec_update.part.35+0x168/0x1b9
      [<ffffffff81502f89>] ? __mutex_lock_slowpath+0x364/0x364
      [<ffffffff810b2cc2>] ftrace_shutdown+0xd7/0x12b
      [<ffffffff810b47f0>] unregister_ftrace_graph+0x49/0x78
      [<ffffffff810c4b30>] graph_trace_reset+0xe/0x10
      [<ffffffff810bf393>] tracing_set_tracer+0xa7/0x26a
      [<ffffffff810bf5e1>] tracing_set_trace_write+0x8b/0xbd
      [<ffffffff810c501c>] ? ftrace_return_to_handler+0xb2/0xde
      [<ffffffff811240a8>] ? __sb_end_write+0x5e/0x5e
      [<ffffffff81122aed>] vfs_write+0xab/0xf6
      [<ffffffff8150a185>] ftrace_graph_caller+0x85/0x85
      [<ffffffff81122dbd>] SyS_write+0x59/0x82
      [<ffffffff8150a185>] ftrace_graph_caller+0x85/0x85
      [<ffffffff8150a2d2>] system_call_fastpath+0x16/0x1b
     ---[ end trace 940358030751eafb ]---
    
    The above mentioned commit didn't go far enough. Well, it covered the
    function tracer by adding checks in __register_ftrace_function(). The
    problem is that the function graph tracer circumvents that (for a slight
    efficiency gain when function graph trace is running with a function
    tracer. The gain was not worth this).
    
    The problem came with ftrace_startup() which should always be called after
    __register_ftrace_function(), if you want this bug to be completely fixed.
    
    Anyway, this solution moves __register_ftrace_function() inside of
    ftrace_startup() and removes the need to call them both.
    
    Reported-by: Dave Wysochanski <dwysocha@redhat.com>
    Fixes: ed926f9b35cd ("ftrace: Use counters to enable functions to trace")
    Signed-off-by: Steven Rostedt <rostedt@goodmis.org>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit 4ca74b4ead50c7656da0d0d4139c0c81b7034180
Author: Mattia Dongili <malattia@linux.it>
Date:   Tue Nov 26 07:43:50 2013 +0900

    sony-laptop: do not scribble keyboard backlight registers on resume
    
    commit b975dc3689fc6a3718ad288ce080924f9cb7e176 upstream.
    
    Follow-up to commit 294d31e8227c ("sony-laptop: don't change keyboard
    backlight settings"): avoid messing up the state on resume.  Leave it to
    what was before suspending as it's anyway likely that we still don't
    know what value we should write to the EC registers.  This fix is also
    required in 3.12
    
    Tested-by: Karol Babioch <karol@babioch.de>
    Signed-off-by: Mattia Dongili <malattia@linux.it>
    Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit 644c38f1f6feb49bcddd882596948db40344868c
Author: Tim Harvey <tharvey@gateworks.com>
Date:   Tue Nov 5 21:17:25 2013 -0800

    regulator: pfuze100: allow misprogrammed ID
    
    commit 88baf7148e899db7e0b676e4363647f50e48eaed upstream.
    
    prior to week 08 of 2013 Freescale misprogrammed between 1 and 3% of
    PFUZE1000 parts with a ID=0x8 instead of the expected ID=0x0
    
    Signed-off-by: Tim Harvey <tharvey@gateworks.com>
    Signed-off-by: Mark Brown <broonie@linaro.org>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit 1052b939bd990382de986042759c508b638fa925
Author: Dan Williams <dcbw@redhat.com>
Date:   Fri Nov 8 13:39:44 2013 -0600

    prism54: set netdev type to "wlan"
    
    commit 8e3ffa471091c560deb6738ed9ab7445b7a5fd04 upstream.
    
    Userspace uses the netdev devtype for stuff like device naming and type
    detection.  Be nice and set it.  Remove the pointless #if/#endif around
    SET_NETDEV_DEV too.
    
    Signed-off-by: Dan Williams <dcbw@redhat.com>
    Signed-off-by: John W. Linville <linville@tuxdriver.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit b4a1a4cc91f62441214ae75aff9a2834bc7f5c10
Author: Peter Hurley <peter@hurleysoftware.com>
Date:   Thu Nov 7 13:59:46 2013 -0500

    n_tty: Ensure reader restarts worker for next reader
    
    commit 42458f41d08f0873299e830464c1232a6839297d upstream.
    
    A departing reader must restart a flush_to_ldisc() worker _before_
    the next reader enters the read loop; this is to avoid the new reader
    concluding no more i/o is available and prematurely exiting, when the
    old reader simply hasn't re-started the worker yet.
    
    Signed-off-by: Peter Hurley <peter@hurleysoftware.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit a4839c4c246a66ec0bb40aaa78aeeca4fd38f252
Author: Peter Hurley <peter@hurleysoftware.com>
Date:   Tue Nov 19 08:46:27 2013 -0500

    tty: Reset hupped state on open
    
    commit d4855e1fc03c2bb32dd64badf51cec5a2a26ab2a upstream.
    
    A common security idiom is to hangup the current tty (via vhangup())
    after forking but before execing a root shell. This hangs up any
    existing opens which other processes may have and ensures subsequent
    opens have the necessary permissions to open the root shell tty/pty.
    
    Reset the TTY_HUPPED state after the driver has successfully
    returned the opened tty (perform the reset while the tty is locked
    to avoid racing with concurrent hangups).
    
    Reported-by: Heorhi Valakhanovich <valahanovich@tut.by>
    Signed-off-by: Peter Hurley <peter@hurleysoftware.com>
    Tested-by: Heorhi Valakhanovich <valahanovich@tut.by>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit a5ce6dc48a0d0304c7f6588100cf89163a0cea56
Author: Peter Hurley <peter@hurleysoftware.com>
Date:   Fri Nov 8 09:42:18 2013 -0500

    n_tty: Fix echo overrun tail computation
    
    commit 6f2225363c205e186c1465c2c7c84f17c1635504 upstream.
    
    Commit cbfd0340ae1993378fd47179db949e050e16e697,
    'n_tty: Process echoes in blocks', introduced an error when
    consuming the echo buffer tail to prevent buffer overrun, where
    the incorrect operation code byte is checked to determine how
    far to advance the tail to the next echo byte.
    
    Check the correct byte for the echo operation code byte.
    
    Signed-off-by: Peter Hurley <peter@hurleysoftware.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit eac07f36b141b81c58080a878215b4ca110d090f
Author: Roel Kluin <roel.kluin@gmail.com>
Date:   Fri Oct 11 22:08:49 2013 +0200

    tty: incorrect test of echo_buf() result for ECHO_OP_START
    
    commit c476f6584b0011741b4f0316f1ac4aa3a99403e1 upstream.
    
    test echo_buf() result for ECHO_OP_START
    
    Signed-off-by: Roel Kluin <roel.kluin@gmail.com>
    Acked-by: Peter Hurley <peter@hurleysoftware.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit cba44dab11c8119a361d4962dc170b05012fe397
Author: Peter Hurley <peter@hurleysoftware.com>
Date:   Fri Nov 22 07:16:25 2013 -0500

    n_tty: Fix 4096-byte canonical reads
    
    commit c77569d2f3ef7844ee4ac7005a57da6898b302a8 upstream.
    
    Although the maximum allowable canonical line is specified to
    be 255 bytes (MAX_CANON), the practical limit has actually been
    the size of the line discipline read buffer (N_TTY_BUF_SIZE == 4096).
    
    Commit 32f13521ca68bc624ff6effc77f308a52b038bf0,
    n_tty: Line copy to user buffer in canonical mode, limited the
    line copy to 4095 bytes. With a completely full line discipline
    read buffer and a userspace buffer > 4095, _no_ data was copied,
    and the read() syscall returned 0, indicating EOF.
    
    Fix the interval arithmetic to compute the correct number of bytes
    to copy to userspace in the range [1..4096].
    
    Signed-off-by: Peter Hurley <peter@hurleysoftware.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit 592ea2ae0e375a32d11b11a1d732f68c58f3fd8b
Author: Andreas Bießmann <andreas@biessmann.de>
Date:   Thu Oct 24 12:31:04 2013 +0200

    avr32: fix out-of-range jump in large kernels
    
    commit d617b338bbfdd77e9cbd8e7dc949cee3dd73d575 upstream.
    
    This patch fixes following error (for big kernels):
    
    ---8<---
    arch/avr32/boot/u-boot/head.o: In function `no_tag_table':
    (.init.text+0x44): relocation truncated to fit: R_AVR32_22H_PCREL against symbol `panic' defined in .text.unlikely section in kernel/built-in.o
    arch/avr32/kernel/built-in.o: In function `bad_return':
    (.ex.text+0x236): relocation truncated to fit: R_AVR32_22H_PCREL against symbol `panic' defined in .text.unlikely section in kernel/built-in.o
    --->8---
    
    It comes up when the kernel increases and 'panic()' is too far away to fit in
    the +/- 2MiB range. Which in turn issues from the 21-bit displacement in
    'br{cond4}' mnemonic which is one of the two ways to do jumps (rjmp has just
    10-bit displacement and therefore a way smaller range). This fact was stated
    before in 8d29b7b9f81d6b83d869ff054e6c189d6da73f1f.
    One solution to solve this is to add a local storage for the symbol address
    and just load the $pc with that value.
    
    Signed-off-by: Andreas Bießmann <andreas@biessmann.de>
    Acked-by: Hans-Christian Egtvedt <egtvedt@samfundet.no>
    Cc: Haavard Skinnemoen <hskinnemoen@gmail.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit 72c2eb5929dd7496c90cbcb8cb8124595347a382
Author: Andreas Bießmann <andreas@biessmann.de>
Date:   Thu Oct 24 12:31:03 2013 +0200

    avr32: setup crt for early panic()
    
    commit 7a2a74f4b856993218aa7cdeeb6c3103101340db upstream.
    
    Before the CRT was (fully) set up in kernel_entry (bss cleared before in
    _start, but also not before jump to panic() in no_tag_table case).
    
    This patch fixes this up to have a fully working CRT when branching to panic()
    in no_tag_table.
    
    Signed-off-by: Andreas Bießmann <andreas@biessmann.de>
    Acked-by: Hans-Christian Egtvedt <egtvedt@samfundet.no>
    Cc: Haavard Skinnemoen <hskinnemoen@gmail.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit 34cc788ad044714f32e97687b2530e9b6ff7f56c
Author: Paul Moore <pmoore@redhat.com>
Date:   Thu Sep 26 17:00:46 2013 -0400

    selinux: correct locking in selinux_netlbl_socket_connect)
    
    commit 42d64e1add3a1ce8a787116036163b8724362145 upstream.
    
    The SELinux/NetLabel glue code has a locking bug that affects systems
    with NetLabel enabled, see the kernel error message below.  This patch
    corrects this problem by converting the bottom half socket lock to a
    more conventional, and correct for this call-path, lock_sock() call.
    
     ===============================
     [ INFO: suspicious RCU usage. ]
     3.11.0-rc3+ #19 Not tainted
     -------------------------------
     net/ipv4/cipso_ipv4.c:1928 suspicious rcu_dereference_protected() usage!
    
     other info that might help us debug this:
    
     rcu_scheduler_active = 1, debug_locks = 0
     2 locks held by ping/731:
      #0:  (slock-AF_INET/1){+.-...}, at: [...] selinux_netlbl_socket_connect
      #1:  (rcu_read_lock){.+.+..}, at: [<...>] netlbl_conn_setattr
    
     stack backtrace:
     CPU: 1 PID: 731 Comm: ping Not tainted 3.11.0-rc3+ #19
     Hardware name: Bochs Bochs, BIOS Bochs 01/01/2011
      0000000000000001 ffff88006f659d28 ffffffff81726b6a ffff88003732c500
      ffff88006f659d58 ffffffff810e4457 ffff88006b845a00 0000000000000000
      000000000000000c ffff880075aa2f50 ffff88006f659d90 ffffffff8169bec7
     Call Trace:
      [<ffffffff81726b6a>] dump_stack+0x54/0x74
      [<ffffffff810e4457>] lockdep_rcu_suspicious+0xe7/0x120
      [<ffffffff8169bec7>] cipso_v4_sock_setattr+0x187/0x1a0
      [<ffffffff8170f317>] netlbl_conn_setattr+0x187/0x190
      [<ffffffff8170f195>] ? netlbl_conn_setattr+0x5/0x190
      [<ffffffff8131ac9e>] selinux_netlbl_socket_connect+0xae/0xc0
      [<ffffffff81303025>] selinux_socket_connect+0x135/0x170
      [<ffffffff8119d127>] ? might_fault+0x57/0xb0
      [<ffffffff812fb146>] security_socket_connect+0x16/0x20
      [<ffffffff815d3ad3>] SYSC_connect+0x73/0x130
      [<ffffffff81739a85>] ? sysret_check+0x22/0x5d
      [<ffffffff810e5e2d>] ? trace_hardirqs_on_caller+0xfd/0x1c0
      [<ffffffff81373d4e>] ? trace_hardirqs_on_thunk+0x3a/0x3f
      [<ffffffff815d52be>] SyS_connect+0xe/0x10
      [<ffffffff81739a59>] system_call_fastpath+0x16/0x1b
    
    Signed-off-by: Paul Moore <pmoore@redhat.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit 8c4baca915377987f3b5d266157c74925f6107f8
Author: Toshi Kani <toshi.kani@hp.com>
Date:   Wed Nov 20 14:25:34 2013 +0100

    ACPI / hotplug: Fix conflicted PCI bridge notify handlers
    
    commit ca499fc87ed945094d952da0eb7eea7dbeb1feec upstream.
    
    The PCI host bridge scan handler installs its own notify handler,
    handle_hotplug_event_root(), by itself.  Nevertheless, the ACPI
    hotplug framework also installs the common notify handler,
    acpi_hotplug_notify_cb(), for PCI root bridges.  This causes
    acpi_hotplug_notify_cb() to call _OST method with unsupported
    error as hotplug.enabled is not set.
    
    To address this issue, introduce hotplug.ignore flag, which
    indicates that the scan handler installs its own notify handler by
    itself.  The ACPI hotplug framework does not install the common
    notify handler when this flag is set.
    
    Signed-off-by: Toshi Kani <toshi.kani@hp.com>
    [rjw: Changed the name of the new flag]
    Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit 45364a2de511d66a477235376bee161038cba4bc
Author: Yinghai Lu <yinghai@kernel.org>
Date:   Mon Nov 18 17:02:45 2013 -0700

    PCI: Remove duplicate pci_disable_device() from pcie_portdrv_remove()
    
    commit e7cc5cf74544d97d7b69e2701595037474db1f96 upstream.
    
    The pcie_portdrv .probe() method calls pci_enable_device() once, in
    pcie_port_device_register(), but the .remove() method calls
    pci_disable_device() twice, in pcie_port_device_remove() and in
    pcie_portdrv_remove().
    
    That causes a "disabling already-disabled device" warning when removing a
    PCIe port device.  This happens all the time when removing Thunderbolt
    devices, but is also easy to reproduce with, e.g.,
    "echo 0000:00:1c.3 > /sys/bus/pci/drivers/pcieport/unbind"
    
    This patch removes the disable from pcie_portdrv_remove().
    
    [bhelgaas: changelog, tag for stable]
    Reported-by: David Bulkow <David.Bulkow@stratus.com>
    Reported-by: Mika Westerberg <mika.westerberg@linux.intel.com>
    Signed-off-by: Yinghai Lu <yinghai@kernel.org>
    Signed-off-by: Bjorn Helgaas <bhelgaas@google.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit 50c7c5188d298a63b773713e76ceef787bfbb04f
Author: Jeff Layton <jlayton@redhat.com>
Date:   Wed May 8 10:32:23 2013 -0400

    audit: log the audit_names record type
    
    commit d3aea84a4ace5ff9ce7fb7714cee07bebef681c2 upstream.
    
    ...to make it clear what the intent behind each record's operation was.
    
    In many cases you can infer this, based on the context of the syscall
    and the result. In other cases it's not so obvious. For instance, in
    the case where you have a file being renamed over another, you'll have
    two different records with the same filename but different inode info.
    By logging this information we can clearly tell which one was created
    and which was deleted.
    
    This fixes what was broken in commit bfcec708.
    Commit 79f6530c should also be backported to stable v3.7+.
    
    Signed-off-by: Jeff Layton <jlayton@redhat.com>
    Signed-off-by: Eric Paris <eparis@redhat.com>
    Signed-off-by: Richard Guy Briggs <rgb@redhat.com>
    Signed-off-by: Eric Paris <eparis@redhat.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit 5709767a1d99cb3c2993fd5ac8c431870971095b
Author: Jeff Layton <jlayton@redhat.com>
Date:   Wed May 8 10:25:58 2013 -0400

    audit: add child record before the create to handle case where create fails
    
    commit 14e972b4517128ac8e30e3de2ee4fbd995084223 upstream.
    
    Historically, when a syscall that creates a dentry fails, you get an audit
    record that looks something like this (when trying to create a file named
    "new" in "/tmp/tmp.SxiLnCcv63"):
    
        type=PATH msg=audit(1366128956.279:965): item=0 name="/tmp/tmp.SxiLnCcv63/new" inode=2138308 dev=fd:02 mode=040700 ouid=0 ogid=0 rdev=00:00 obj=staff_u:object_r:user_tmp_t:s15:c0.c1023
    
    This record makes no sense since it's associating the inode information for
    "/tmp/tmp.SxiLnCcv63" with the path "/tmp/tmp.SxiLnCcv63/new". The recent
    patch I posted to fix the audit_inode call in do_last fixes this, by making it
    look more like this:
    
        type=PATH msg=audit(1366128765.989:13875): item=0 name="/tmp/tmp.DJ1O8V3e4f/" inode=141 dev=fd:02 mode=040700 ouid=0 ogid=0 rdev=00:00 obj=staff_u:object_r:user_tmp_t:s15:c0.c1023
    
    While this is more correct, if the creation of the file fails, then we
    have no record of the filename that the user tried to create.
    
    This patch adds a call to audit_inode_child to may_create. This creates
    an AUDIT_TYPE_CHILD_CREATE record that will sit in place until the
    create succeeds. When and if the create does succeed, then this record
    will be updated with the correct inode info from the create.
    
    This fixes what was broken in commit bfcec708.
    Commit 79f6530c should also be backported to stable v3.7+.
    
    Signed-off-by: Jeff Layton <jlayton@redhat.com>
    Signed-off-by: Eric Paris <eparis@redhat.com>
    Signed-off-by: Richard Guy Briggs <rgb@redhat.com>
    Signed-off-by: Eric Paris <eparis@redhat.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit fd2dd1112abb94330e3d0dfa5acf4ff2816bc93e
Author: Mathias Krause <minipli@googlemail.com>
Date:   Mon Sep 30 22:04:24 2013 +0200

    audit: fix info leak in AUDIT_GET requests
    
    commit 64fbff9ae0a0a843365d922e0057fc785f23f0e3 upstream.
    
    We leak 4 bytes of kernel stack in response to an AUDIT_GET request as
    we miss to initialize the mask member of status_set. Fix that.
    
    Cc: Al Viro <viro@zeniv.linux.org.uk>
    Cc: Eric Paris <eparis@redhat.com>
    Signed-off-by: Mathias Krause <minipli@googlemail.com>
    Signed-off-by: Richard Guy Briggs <rgb@redhat.com>
    Signed-off-by: Eric Paris <eparis@redhat.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit 7061b8b55c8d02971bcab0518940f58994fa538e
Author: Mathias Krause <minipli@googlemail.com>
Date:   Mon Sep 30 22:04:25 2013 +0200

    audit: use nlmsg_len() to get message payload length
    
    commit 4d8fe7376a12bf4524783dd95cbc00f1fece6232 upstream.
    
    Using the nlmsg_len member of the netlink header to test if the message
    is valid is wrong as it includes the size of the netlink header itself.
    Thereby allowing to send short netlink messages that pass those checks.
    
    Use nlmsg_len() instead to test for the right message length. The result
    of nlmsg_len() is guaranteed to be non-negative as the netlink message
    already passed the checks of nlmsg_ok().
    
    Also switch to min_t() to please checkpatch.pl.
    
    Cc: Al Viro <viro@zeniv.linux.org.uk>
    Cc: Eric Paris <eparis@redhat.com>
    Signed-off-by: Mathias Krause <minipli@googlemail.com>
    Signed-off-by: Richard Guy Briggs <rgb@redhat.com>
    Signed-off-by: Eric Paris <eparis@redhat.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit a2f5dae53da47cef608874ef70a7a548b78c13c4
Author: Tyler Hicks <tyhicks@canonical.com>
Date:   Thu Jul 25 18:02:55 2013 -0700

    audit: printk USER_AVC messages when audit isn't enabled
    
    commit 0868a5e150bc4c47e7a003367cd755811eb41e0b upstream.
    
    When the audit=1 kernel parameter is absent and auditd is not running,
    AUDIT_USER_AVC messages are being silently discarded.
    
    AUDIT_USER_AVC messages should be sent to userspace using printk(), as
    mentioned in the commit message of 4a4cd633 ("AUDIT: Optimise the
    audit-disabled case for discarding user messages").
    
    When audit_enabled is 0, audit_receive_msg() discards all user messages
    except for AUDIT_USER_AVC messages. However, audit_log_common_recv_msg()
    refuses to allocate an audit_buffer if audit_enabled is 0. The fix is to
    special case AUDIT_USER_AVC messages in both functions.
    
    It looks like commit 50397bd1 ("[AUDIT] clean up audit_receive_msg()")
    introduced this bug.
    
    Signed-off-by: Tyler Hicks <tyhicks@canonical.com>
    Cc: Al Viro <viro@zeniv.linux.org.uk>
    Cc: Eric Paris <eparis@redhat.com>
    Cc: linux-audit@redhat.com
    Acked-by: Kees Cook <keescook@chromium.org>
    Signed-off-by: Richard Guy Briggs <rgb@redhat.com>
    Signed-off-by: Eric Paris <eparis@redhat.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit 968eba902febaff90720e9abae7897b8d02bda67
Author: Ujjal Roy <royujjal@gmail.com>
Date:   Tue Nov 5 15:01:45 2013 -0800

    mwifiex: fix wrong eth_hdr usage for bridged packets in AP mode
    
    commit 8d93f1f309d38b65fce0b9f0de91ba6c96990c07 upstream.
    
    The eth_hdr is never defined in this driver but it gets compiled
    without any warning/error because kernel has defined eth_hdr.
    
    Fix it by defining our own p_ethhdr and use it instead of eth_hdr.
    
    Signed-off-by: Ujjal Roy <royujjal@gmail.com>
    Signed-off-by: Amitkumar Karwar <akarwar@marvell.com>
    Signed-off-by: Bing Zhao <bzhao@marvell.com>
    Signed-off-by: John W. Linville <linville@tuxdriver.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit c94aee0bbcc910d14aef4fb386acfbb9f1dc7dab
Author: Avinash Patil <patila@marvell.com>
Date:   Tue Nov 5 15:01:44 2013 -0800

    mwifiex: correct packet length for packets from SDIO interface
    
    commit d03b4aa77e1187b77dfe37d14a923547f00baa66 upstream.
    
    While receiving a packet on SDIO interface, we allocate skb with
    size multiple of SDIO block size. We need to resize this skb
    after RX using packet length from RX header.
    
    Signed-off-by: Avinash Patil <patila@marvell.com>
    Signed-off-by: Bing Zhao <bzhao@marvell.com>
    Signed-off-by: John W. Linville <linville@tuxdriver.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit 167f34b7d969836cf4faeb92edcb9cc20cfc72f2
Author: Pavel Shilovsky <piastry@etersoft.ru>
Date:   Wed Oct 23 17:49:47 2013 +0400

    CIFS: Fix symbolic links usage
    
    commit eb85d94bdd91fb4dbea4ee465d4349cbea4eaaca upstream.
    
    Now we treat any reparse point as a symbolic link and map it to a Unix
    one that is not true in a common case due to many reparse point types
    supported by SMB servers.
    
    Distinguish reparse point types into two groups:
    1) that can be accessed directly through a reparse point
    (junctions, deduplicated files, NFS symlinks);
    2) that need to be processed manually (Windows symbolic links, DFS);
    
    and map only Windows symbolic links to Unix ones.
    
    Acked-by: Jeff Layton <jlayton@redhat.com>
    Reported-and-tested-by: Joao Correia <joaomiguelcorreia@gmail.com>
    Signed-off-by: Pavel Shilovsky <piastry@etersoft.ru>
    Signed-off-by: Steve French <smfrench@gmail.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit a8ffbb939c4e4d630b0c2155e6703a64da040556
Author: Kent Overstreet <kmo@daterainc.com>
Date:   Sun Nov 10 21:55:27 2013 -0800

    bcache: Fix dirty_data accounting
    
    commit 1fa8455deb92e9ec7756df23030e73b2d28eeca7 upstream.
    
    Dirty data accounting wasn't quite right - firstly, we were adding the key we're
    inserting after it could have merged with another dirty key already in the
    btree, and secondly we could sometimes pass the wrong offset to
    bcache_dev_sectors_dirty_add() for dirty data we were overwriting - which is
    important when tracking dirty data by stripe.
    
    Signed-off-by: Kent Overstreet <kmo@daterainc.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit b5cdb8f6a8a0eacdd8b64a8d22ff0243d854d2f1
Author: Dave Airlie <airlied@redhat.com>
Date:   Thu Nov 28 05:39:03 2013 +0000

    drm/qxl: fix memory leak in release list handling
    
    commit 1b28c3e628315ac0d9ef2d3fac0403f05ae692db upstream.
    
    wow no idea how I got this far without seeing this,
    leaking the entries in the list makes kmalloc-64 slab grow.
    
    References: https://bugzilla.kernel.org/show_bug.cgi?id=65121
    Reported-by: Matthew Stapleton <matthew4196@gmail.com>
    Signed-off-by: Dave Airlie <airlied@redhat.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit df69034faca5456fdf447c8f9ddbae312b8bdac1
Author: Dave Airlie <airlied@redhat.com>
Date:   Mon Nov 4 16:38:08 2013 +1000

    qxl: avoid an oops in the deferred io code.
    
    commit cc87509d87696d7cd393882f5dedea01e03e41a9 upstream.
    
    If we are using deferred io due to plymouth or X.org fbdev driver
    we will oops in memcpy due to this pointless multiply here,
    
    removing it fixes fbdev to start and not oops.
    
    Signed-off-by: Dave Airlie <airlied@redhat.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit 41557e51d6e0a894852a89323a4febae04e346bf
Author: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
Date:   Thu Nov 14 23:26:58 2013 +0100

    PM / Hibernate: Do not crash kernel in free_basic_memory_bitmaps()
    
    commit 6a0c7cd33075f6b7f1d80145bb19812beb3fc5c9 upstream.
    
    I have received a report about the BUG_ON() in free_basic_memory_bitmaps()
    triggering mysteriously during an aborted s2disk hibernation attempt.
    The only way I can explain that is that /dev/snapshot was first
    opened for writing (resume mode), then closed and then opened again
    for reading and closed again without freezing tasks.  In that case
    the first invocation of snapshot_open() would set the free_bitmaps
    flag in snapshot_state, which is a static variable.  That flag
    wouldn't be cleared later and the second invocation of snapshot_open()
    would just leave it like that, so the subsequent snapshot_release()
    would see data->frozen set and free_basic_memory_bitmaps() would be
    called unnecessarily.
    
    To prevent that from happening clear data->free_bitmaps in
    snapshot_open() when the file is being opened for reading (hibernate
    mode).
    
    In addition to that, replace the BUG_ON() in free_basic_memory_bitmaps()
    with a WARN_ON() as the kernel can continue just fine if the condition
    checked by that macro occurs.
    
    Fixes: aab172891542 (PM / hibernate: Fix user space driven resume regression)
    Reported-by: Oliver Lorenz <olli@olorenz.org>
    Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit 0dd3f357da404f4cf18a5dd49658bdc0b0bb1eaf
Author: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
Date:   Thu Nov 7 01:51:15 2013 +0100

    PM / runtime: Use pm_runtime_put_sync() in __device_release_driver()
    
    commit baab52ded242c35a2290e1fa82e0cc147d0d8c1a upstream.
    
    Commit fa180eb448fa (PM / Runtime: Idle devices asynchronously after
    probe|release) modified __device_release_driver() to call
    pm_runtime_put(dev) instead of pm_runtime_put_sync(dev) before
    detaching the driver from the device.  However, that was a mistake,
    because pm_runtime_put(dev) causes rpm_idle() to be queued up and
    the driver may be gone already when that function is executed.
    That breaks the assumptions the drivers have the right to make
    about the core's behavior on the basis of the existing documentation
    and actually causes problems to happen, so revert that part of
    commit fa180eb448fa and restore the previous behavior of
    __device_release_driver().
    
    Reported-by: Tomi Valkeinen <tomi.valkeinen@ti.com>
    Fixes: fa180eb448fa (PM / Runtime: Idle devices asynchronously after probe|release)
    Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
    Acked-by: Kevin Hilman <khilman@linaro.org>
    Acked-by: Ulf Hansson <ulf.hansson@linaro.org>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit e670b9b89bcfda402eb279c28a97ddd79133f7b9
Author: Aaron Lu <aaron.lu@intel.com>
Date:   Wed Nov 6 08:41:31 2013 +0800

    PM / hibernate: Avoid overflow in hibernate_preallocate_memory()
    
    commit fd432b9f8c7c88428a4635b9f5a9c6e174df6e36 upstream.
    
    When system has a lot of highmem (e.g. 16GiB using a 32 bits kernel),
    the code to calculate how much memory we need to preallocate in
    normal zone may cause overflow. As Leon has analysed:
    
     It looks that during computing 'alloc' variable there is overflow:
     alloc = (3943404 - 1970542) - 1978280 = -5418 (signed)
     And this function goes to err_out.
    
    Fix this by avoiding that overflow.
    
    References: https://bugzilla.kernel.org/show_bug.cgi?id=60817
    Reported-and-tested-by: Leon Drugi <eyak@wp.pl>
    Signed-off-by: Aaron Lu <aaron.lu@intel.com>
    Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit f5360a4c39d79c150f527ebf32ee18eb2a820e1d
Author: Mikulas Patocka <mpatocka@redhat.com>
Date:   Mon Oct 14 12:11:36 2013 -0400

    blk-core: Fix memory corruption if blkcg_init_queue fails
    
    commit fff4996b7db7955414ac74386efa5e07fd766b50 upstream.
    
    If blkcg_init_queue fails, blk_alloc_queue_node doesn't call bdi_destroy
    to clean up structures allocated by the backing dev.
    
    ------------[ cut here ]------------
    WARNING: at lib/debugobjects.c:260 debug_print_object+0x85/0xa0()
    ODEBUG: free active (active state 0) object type: percpu_counter hint:           (null)
    Modules linked in: dm_loop dm_mod ip6table_filter ip6_tables uvesafb cfbcopyarea cfbimgblt cfbfillrect fbcon font bitblit fbcon_rotate fbcon_cw fbcon_ud fbcon_ccw softcursor fb fbdev ipt_MASQUERADE iptable_nat nf_nat_ipv4 msr nf_conntrack_ipv4 nf_defrag_ipv4 xt_state ipt_REJECT xt_tcpudp iptable_filter ip_tables x_tables bridge stp llc tun ipv6 cpufreq_userspace cpufreq_stats cpufreq_powersave cpufreq_ondemand cpufreq_conservative spadfs fuse hid_generic usbhid hid raid0 md_mod dmi_sysfs nf_nat_ftp nf_nat nf_conntrack_ftp nf_conntrack lm85 hwmon_vid snd_usb_audio snd_pcm_oss snd_mixer_oss snd_pcm snd_timer snd_page_alloc snd_hwdep snd_usbmidi_lib snd_rawmidi snd soundcore acpi_cpufreq freq_table mperf sata_svw serverworks kvm_amd ide_core ehci_pci ohci_hcd libata ehci_hcd kvm usbcore tg3 usb_common libphy k10temp pcspkr ptp i2c_piix4 i2c_core evdev microcode hwmon rtc_cmos pps_core e100 skge floppy mii processor button unix
    CPU: 0 PID: 2739 Comm: lvchange Tainted: G        W
    3.10.15-devel #14
    Hardware name: empty empty/S3992-E, BIOS 'V1.06   ' 06/09/2009
     0000000000000009 ffff88023c3c1ae8 ffffffff813c8fd4 ffff88023c3c1b20
     ffffffff810399eb ffff88043d35cd58 ffffffff81651940 ffff88023c3c1bf8
     ffffffff82479d90 0000000000000005 ffff88023c3c1b80 ffffffff81039a67
    Call Trace:
     [<ffffffff813c8fd4>] dump_stack+0x19/0x1b
     [<ffffffff810399eb>] warn_slowpath_common+0x6b/0xa0
     [<ffffffff81039a67>] warn_slowpath_fmt+0x47/0x50
     [<ffffffff8122aaaf>] ? debug_check_no_obj_freed+0xcf/0x250
     [<ffffffff81229a15>] debug_print_object+0x85/0xa0
     [<ffffffff8122abe3>] debug_check_no_obj_freed+0x203/0x250
     [<ffffffff8113c4ac>] kmem_cache_free+0x20c/0x3a0
     [<ffffffff811f6709>] blk_alloc_queue_node+0x2a9/0x2c0
     [<ffffffff811f672e>] blk_alloc_queue+0xe/0x10
     [<ffffffffa04c0093>] dm_create+0x1a3/0x530 [dm_mod]
     [<ffffffffa04c6bb0>] ? list_version_get_info+0xe0/0xe0 [dm_mod]
     [<ffffffffa04c6c07>] dev_create+0x57/0x2b0 [dm_mod]
     [<ffffffffa04c6bb0>] ? list_version_get_info+0xe0/0xe0 [dm_mod]
     [<ffffffffa04c6bb0>] ? list_version_get_info+0xe0/0xe0 [dm_mod]
     [<ffffffffa04c6528>] ctl_ioctl+0x268/0x500 [dm_mod]
     [<ffffffff81097662>] ? get_lock_stats+0x22/0x70
     [<ffffffffa04c67ce>] dm_ctl_ioctl+0xe/0x20 [dm_mod]
     [<ffffffff81161aad>] do_vfs_ioctl+0x2ed/0x520
     [<ffffffff8116cfc7>] ? fget_light+0x377/0x4e0
     [<ffffffff81161d2b>] SyS_ioctl+0x4b/0x90
     [<ffffffff813cff16>] system_call_fastpath+0x1a/0x1f
    ---[ end trace 4b5ff0d55673d986 ]---
    ------------[ cut here ]------------
    
    This fix should be backported to stable kernels starting with 2.6.37. Note
    that in the kernels prior to 3.5 the affected code is different, but the
    bug is still there - bdi_init is called and bdi_destroy isn't.
    
    Signed-off-by: Mikulas Patocka <mpatocka@redhat.com>
    Acked-by: Tejun Heo <tj@kernel.org>
    Signed-off-by: Jens Axboe <axboe@kernel.dk>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit 2db811c4fe4f4e97079591ce46dfa5f78bfb3128
Author: Nicholas Bellinger <nab@linux-iscsi.org>
Date:   Wed Nov 13 14:39:14 2013 -0800

    target: Fix delayed Task Aborted Status (TAS) handling bug
    
    commit 29f4c090079f442ea2723d292e4e64f0b6ac1f27 upstream.
    
    This patch fixes a bug in delayed Task Aborted Status (TAS) handling,
    where transport_send_task_abort() was not returning for the case
    when the se_tfo->write_pending() callback indicated that last fabric
    specific WRITE PDU had not yet been received.
    
    It also adds an explicit cmd->scsi_status = SAM_STAT_TASK_ABORTED
    assignment within transport_check_aborted_status() to avoid the case
    where se_tfo->queue_status() is called when the SAM_STAT_TASK_ABORTED
    assignment + ->queue_status() in transport_send_task_abort() does not
    occur once SCF_SENT_DELAYED_TAS has been set.
    
    Signed-off-by: Nicholas Bellinger <nab@linux-iscsi.org>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit ba104050017de2e08c347d66f3399ea2e17bfb17
Author: Vu Pham <vu@mellanox.com>
Date:   Mon Nov 11 19:04:29 2013 +0200

    iser-target: Avoid using FRMR for single dma entry requests
    
    commit f01b9f73392b48c6cda7c2c66594c73137c776da upstream.
    
    This patch changes isert_reg_rdma_frwr() to not use FRMR for single
    dma entry requests from small I/Os, in order to avoid the associated
    memory registration overhead.
    
    Using DMA MR is sufficient here for the single dma entry requests,
    and addresses a >= v3.12 performance regression.
    
    Signed-off-by: Vu Pham <vu@mellanox.com>
    Signed-off-by: Nicholas Bellinger <nab@linux-iscsi.org>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit a009902c0d2e86c28cb76a2d4e54d12f098a8ef8
Author: Dan Williams <dan.j.williams@intel.com>
Date:   Wed Nov 13 10:37:36 2013 -0800

    ioatdma: fix selection of 16 vs 8 source path
    
    commit 21e96c7313486390c694919522a76dfea0a86c59 upstream.
    
    When performing continuations there are implied sources that need to be
    added to the source count. Quoting dma_set_maxpq:
    
    /* dma_maxpq - reduce maxpq in the face of continued operations
     * @dma - dma device with PQ capability
     * @flags - to check if DMA_PREP_CONTINUE and DMA_PREP_PQ_DISABLE_P are set
     *
     * When an engine does not support native continuation we need 3 extra
     * source slots to reuse P and Q with the following coefficients:
     * 1/ {00} * P : remove P from Q', but use it as a source for P'
     * 2/ {01} * Q : use Q to continue Q' calculation
     * 3/ {00} * Q : subtract Q from P' to cancel (2)
     *
     * In the case where P is disabled we only need 1 extra source:
     * 1/ {01} * Q : use Q to continue Q' calculation
     */
    
    ...fix the selection of the 16 source path to take these implied sources
    into account.
    
    Note this also kills the BUG_ON(src_cnt < 9) check in
    __ioat3_prep_pq16_lock().  Besides not accounting for implied sources
    the check is redundant given we already made the path selection.
    
    Cc: Dave Jiang <dave.jiang@intel.com>
    Acked-by: Dave Jiang <dave.jiang@intel.com>
    Signed-off-by: Dan Williams <dan.j.williams@intel.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit 1bb87f93deb4958aecbd4d60b62f8426f297646b
Author: Dan Williams <dan.j.williams@intel.com>
Date:   Wed Nov 13 10:15:42 2013 -0800

    ioatdma: fix sed pool selection
    
    commit 5d48b9b5d80e3aa38a5161565398b1e48a650573 upstream.
    
    The array to lookup the sed pool based on the number of sources
    (pq16_idx_to_sedi) is 16 entries and expects a max source index.
    However, we pass the total source count which runs off the end of the
    array when src_cnt == 16.  The minimal fix is to just pass src_cnt-1,
    but given we know the source count is > 8 we can just calculate the sed
    pool by (src_cnt - 2) >> 3.
    
    Cc: Dave Jiang <dave.jiang@intel.com>
    Acked-by: Dave Jiang <dave.jiang@intel.com>
    Signed-off-by: Dan Williams <dan.j.williams@intel.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit b9c4b04c214848774fbbee4d946aa39ecb8f1010
Author: Dave Jiang <dave.jiang@intel.com>
Date:   Wed Nov 6 08:50:09 2013 -0700

    ioatdma: Fix bug in selftest after removal of DMA_MEMSET.
    
    commit ac7d631f7d9f9e4e6116c4a72b6308067d0a2226 upstream.
    
    Commit 48a9db4 (3.11) removed the memset op in the xor selftest for ioatdma.
    The issue is that with the removal of that op, it never replaced the memset
    with a CPU memset. The memory being operated on is expected to be zeroes but
    was not. This is causing the xor selftest to fail.
    
    Signed-off-by: Dave Jiang <dave.jiang@intel.com>
    Signed-off-by: Dan Williams <dan.j.williams@intel.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit 9afdbf0a4e3d7ea4030de51ca4b73de5c18386ec
Author: Mikulas Patocka <mpatocka@redhat.com>
Date:   Thu Oct 31 13:55:45 2013 -0400

    dm: allocate buffer for messages with small number of arguments using GFP_NOIO
    
    commit f36afb3957353d2529cb2b00f78fdccd14fc5e9c upstream.
    
    dm-mpath and dm-thin must process messages even if some device is
    suspended, so we allocate argv buffer with GFP_NOIO. These messages have
    a small fixed number of arguments.
    
    On the other hand, dm-switch needs to process bulk data using messages
    so excessive use of GFP_NOIO could cause trouble.
    
    The patch also lowers the default number of arguments from 64 to 8, so
    that there is smaller load on GFP_NOIO allocations.
    
    Signed-off-by: Mikulas Patocka <mpatocka@redhat.com>
    Acked-by: Alasdair G Kergon <agk@redhat.com>
    Signed-off-by: Mike Snitzer <snitzer@redhat.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit 901dfc022de56b1f3c6dc605116af540bd0c1044
Author: Joe Thornber <ejt@redhat.com>
Date:   Wed Oct 30 17:11:58 2013 +0000

    dm cache: fix a race condition between queuing new migrations and quiescing for a shutdown
    
    commit 66cb1910df17b38334153462ec8166e48058035f upstream.
    
    The code that was trying to do this was inadequate.  The postsuspend
    method (in ioctl context), needs to wait for the worker thread to
    acknowledge the request to quiesce.  Otherwise the migration count may
    drop to zero temporarily before the worker thread realises we're
    quiescing.  In this case the target will be taken down, but the worker
    thread may have issued a new migration, which will cause an oops when
    it completes.
    
    Signed-off-by: Joe Thornber <ejt@redhat.com>
    Signed-off-by: Mike Snitzer <snitzer@redhat.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit 884d5952afcbee9d56961663051390dda586107f
Author: Joe Thornber <ejt@redhat.com>
Date:   Wed Oct 30 11:19:59 2013 +0000

    dm array: fix bug in growing array
    
    commit 9c1d4de56066e4d6abc66ec188faafd7b303fb08 upstream.
    
    Entries would be lost if the old tail block was partially filled.
    
    Signed-off-by: Joe Thornber <ejt@redhat.com>
    Signed-off-by: Mike Snitzer <snitzer@redhat.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit 0cc9fcd42fdf34e165a90a4358a37ec93e682d0c
Author: Shiva Krishna Merla <shivakrishna.merla@netapp.com>
Date:   Wed Oct 30 03:26:38 2013 +0000

    dm mpath: fix race condition between multipath_dtr and pg_init_done
    
    commit 954a73d5d3073df2231820c718fdd2f18b0fe4c9 upstream.
    
    Whenever multipath_dtr() is happening we must prevent queueing any
    further path activation work.  Implement this by adding a new
    'pg_init_disabled' flag to the multipath structure that denotes future
    path activation work should be skipped if it is set.  By disabling
    pg_init and then re-enabling in flush_multipath_work() we also avoid the
    potential for pg_init to be initiated while suspending an mpath device.
    
    Without this patch a race condition exists that may result in a kernel
    panic:
    
    1) If after pg_init_done() decrements pg_init_in_progress to 0, a call
       to wait_for_pg_init_completion() assumes there are no more pending path
       management commands.
    2) If pg_init_required is set by pg_init_done(), due to retryable
       mode_select errors, then process_queued_ios() will again queue the
       path activation work.
    3) If free_multipath() completes before activate_path() work is called a
       NULL pointer dereference like the following can be seen when
       accessing members of the recently destructed multipath:
    
    BUG: unable to handle kernel NULL pointer dereference at 0000000000000090
    RIP: 0010:[<ffffffffa003db1b>]  [<ffffffffa003db1b>] activate_path+0x1b/0x30 [dm_multipath]
    [<ffffffff81090ac0>] worker_thread+0x170/0x2a0
    [<ffffffff81096c80>] ? autoremove_wake_function+0x0/0x40
    
    [switch to disabling pg_init in flush_multipath_work & header edits by Mike Snitzer]
    Signed-off-by: Shiva Krishna Merla <shivakrishna.merla@netapp.com>
    Reviewed-by: Krishnasamy Somasundaram <somasundaram.krishnasamy@netapp.com>
    Tested-by: Speagle Andy <Andy.Speagle@netapp.com>
    Acked-by: Junichi Nomura <j-nomura@ce.jp.nec.com>
    Signed-off-by: Mike Snitzer <snitzer@redhat.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit aa54481ecf3b29f775ff04b2b7ea547ca5ce9601
Author: Rodolfo Giometti <giometti@enneenne.com>
Date:   Mon Sep 9 17:31:59 2013 +0200

    mmc: atmel-mci: fix oops in atmci_tasklet_func
    
    commit fbd986cd420d1deeabf1039ec4e74075a5639db5 upstream.
    
    In some cases, a NULL pointer dereference happens because data is NULL when
    STATE_END_REQUEST case is reached in atmci_tasklet_func.
    
    Signed-off-by: Rodolfo Giometti <giometti@enneenne.com>
    Acked-by: Ludovic Desroches <ludovic.desroches@atmel.com>
    Acked-by: Nicolas Ferre <nicolas.ferre@atmel.com>
    Signed-off-by: Chris Ball <cjb@laptop.org>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit 491e78863509b5190d333252dab39a6a807c7bc8
Author: Ludovic Desroches <ludovic.desroches@atmel.com>
Date:   Mon Sep 9 17:29:56 2013 +0200

    mmc: atmel-mci: abort transfer on timeout error
    
    commit c1fa3426aa5c782724c97394303d52228206eda4 upstream.
    
    When a software timeout occurs, the transfer is not stopped. In DMA case,
    it causes DMA channel to be stuck because the transfer is still active
    causing following transfers to be queued but not computed.
    
    Signed-off-by: Ludovic Desroches <ludovic.desroches@atmel.com>
    Reported-by: Alexander Morozov <etesial@gmail.com>
    Acked-by: Nicolas Ferre <nicolas.ferre@atmel.com>
    Signed-off-by: Chris Ball <cjb@laptop.org>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit 7edd86e55d940fada7ca8cb351b62d42b29e262f
Author: Weijie Yang <weijie.yang@samsung.com>
Date:   Tue Nov 12 15:08:26 2013 -0800

    mm/zswap: bugfix: memory leak when invalidate and reclaim occur concurrently
    
    commit 67d13fe846c57a54d12578e7a4518f68c5c86ad7 upstream.
    
    Consider the following scenario:
    
    thread 0: reclaim entry x (get refcount, but not call zswap_get_swap_cache_page)
    thread 1: call zswap_frontswap_invalidate_page to invalidate entry x.
    	finished, entry x and its zbud is not freed as its refcount != 0
    	now, the swap_map[x] = 0
    thread 0: now call zswap_get_swap_cache_page
    	swapcache_prepare return -ENOENT because entry x is not used any more
    	zswap_get_swap_cache_page return ZSWAP_SWAPCACHE_NOMEM
    	zswap_writeback_entry do nothing except put refcount
    
    Now, the memory of zswap_entry x and its zpage leak.
    
    Modify:
     - check the refcount in fail path, free memory if it is not referenced.
    
     - use ZSWAP_SWAPCACHE_FAIL instead of ZSWAP_SWAPCACHE_NOMEM as the fail path
       can be not only caused by nomem but also by invalidate.
    
    Signed-off-by: Weijie Yang <weijie.yang@samsung.com>
    Reviewed-by: Bob Liu <bob.liu@oracle.com>
    Reviewed-by: Minchan Kim <minchan@kernel.org>
    Acked-by: Seth Jennings <sjenning@linux.vnet.ibm.com>
    Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
    Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit e360d51f5c4e54c222c6ad62611fcb9dd6098aca
Author: Akira Takeuchi <takeuchi.akr@jp.panasonic.com>
Date:   Tue Nov 12 15:08:21 2013 -0800

    mm: ensure get_unmapped_area() returns higher address than mmap_min_addr
    
    commit 2afc745f3e3079ab16c826be4860da2529054dd2 upstream.
    
    This patch fixes the problem that get_unmapped_area() can return illegal
    address and result in failing mmap(2) etc.
    
    In case that the address higher than PAGE_SIZE is set to
    /proc/sys/vm/mmap_min_addr, the address lower than mmap_min_addr can be
    returned by get_unmapped_area(), even if you do not pass any virtual
    address hint (i.e.  the second argument).
    
    This is because the current get_unmapped_area() code does not take into
    account mmap_min_addr.
    
    This leads to two actual problems as follows:
    
    1. mmap(2) can fail with EPERM on the process without CAP_SYS_RAWIO,
       although any illegal parameter is not passed.
    
    2. The bottom-up search path after the top-down search might not work in
       arch_get_unmapped_area_topdown().
    
    Note: The first and third chunk of my patch, which changes "len" check,
    are for more precise check using mmap_min_addr, and not for solving the
    above problem.
    
    [How to reproduce]
    
    	--- test.c -------------------------------------------------
    	#include <stdio.h>
    	#include <unistd.h>
    	#include <sys/mman.h>
    	#include <sys/errno.h>
    
    	int main(int argc, char *argv[])
    	{
    		void *ret = NULL, *last_map;
    		size_t pagesize = sysconf(_SC_PAGESIZE);
    
    		do {
    			last_map = ret;
    			ret = mmap(0, pagesize, PROT_NONE,
    				MAP_PRIVATE|MAP_ANONYMOUS, -1, 0);
    	//		printf("ret=%p\n", ret);
    		} while (ret != MAP_FAILED);
    
    		if (errno != ENOMEM) {
    			printf("ERR: unexpected errno: %d (last map=%p)\n",
    			errno, last_map);
    		}
    
    		return 0;
    	}
    	---------------------------------------------------------------
    
    	$ gcc -m32 -o test test.c
    	$ sudo sysctl -w vm.mmap_min_addr=65536
    	vm.mmap_min_addr = 65536
    	$ ./test  (run as non-priviledge user)
    	ERR: unexpected errno: 1 (last map=0x10000)
    
    Signed-off-by: Akira Takeuchi <takeuchi.akr@jp.panasonic.com>
    Signed-off-by: Kiyoshi Owada <owada.kiyoshi@jp.panasonic.com>
    Reviewed-by: Naoya Horiguchi <n-horiguchi@ah.jp.nec.com>
    Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
    Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit be20040405d7a20d61afaba32921cc83acf34854
Author: Stanislaw Gruszka <stf_xl@wp.pl>
Date:   Tue Oct 15 14:28:48 2013 +0200

    rt2400pci: fix RSSI read
    
    commit 2bf127a5cc372b9319afcbae10b090663b621c8b upstream.
    
    RSSI value is provided on word3 not on word2.
    
    Signed-off-by: Stanislaw Gruszka <stf_xl@wp.pl>
    Signed-off-by: John W. Linville <linville@tuxdriver.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit 8abbf7ceaece5ea0dd23f2b6d2b135186da7a96b
Author: Ursula Braun <ursula.braun@de.ibm.com>
Date:   Wed Nov 6 09:04:52 2013 +0100

    qeth: avoid buffer overflow in snmp ioctl
    
    commit 6fb392b1a63ae36c31f62bc3fc8630b49d602b62 upstream.
    
    Check user-defined length in snmp ioctl request and allow request
    only if it fits into a qeth command buffer.
    
    Signed-off-by: Ursula Braun <ursula.braun@de.ibm.com>
    Signed-off-by: Frank Blaschka <frank.blaschka@de.ibm.com>
    Reviewed-by: Heiko Carstens <heicars2@linux.vnet.ibm.com>
    Reported-by: Nico Golde <nico@ngolde.de>
    Reported-by: Fabian Yamaguchi <fabs@goesec.de>
    Signed-off-by: David S. Miller <davem@davemloft.net>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit 0d654144c25710e1f9b2827fd6b8f7c76a9b86c2
Author: Felix Fietkau <nbd@openwrt.org>
Date:   Mon Oct 14 21:18:48 2013 +0200

    ath5k: fix regression in tx status processing
    
    commit 7ede612fd615abcda0cc30e5bef2a70f4cf4f75c upstream.
    
    The regression was introduced in the following commit:
    
    0967e01e8e713ed2982fb4eba8ba13794e9a6e89
    "ath5k: make use of the new rate control API"
    
    ath5k_tx_frame_completed saves the intended per-rate retry counts before
    they are cleared by ieee80211_tx_info_clear_status, however at this
    point the information in info->status.rates is incomplete.
    
    This causes significant throughput degradation and excessive packet loss
    on links where high bit rates don't work properly.
    
    Move the copy from bf->rates a few lines up to ensure that the saved
    retry counts are updated, and that they are really cleared in
    info->status.rates after the call to ieee80211_tx_info_clear_status.
    
    Cc: Thomas Huehn <thomas@net.t-labs.tu-berlin.de>
    Cc: Benjamin Vahl <bvahl@net.t-labs.tu-berlin.de>
    Reported-by: Ben West <ben@gowasabi.net>
    Signed-off-by: Felix Fietkau <nbd@openwrt.org>
    Acked-by: Thomas Huehn <thomas@net.t-labs.tu-berlin.de>
    Signed-off-by: John W. Linville <linville@tuxdriver.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit f9a7e9f57556cdbce8bf55379676083579f631da
Author: Larry Finger <Larry.Finger@lwfinger.net>
Date:   Tue Nov 5 15:15:29 2013 -0600

    rtlwifi: rtl8192cu: Fix incorrect signal strength for unassociated AP
    
    commit 78dbfecb95be4635b995af3bd29fa10013409fcd upstream.
    
    The routine that processes received frames was returning the RSSI value for the
    signal strength; however, that value is available only for associated APs. As
    a result, the strength was the absurd value of 10 dBm. As a result, scans
    return incorrect values for the strength, which causes unwanted attempts to roam.
    
    Signed-off-by: Larry Finger <Larry.Finger@lwfinger.net>
    Signed-off-by: John W. Linville <linville@tuxdriver.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit 6c72ff6cc945d02486dea16c9ea2e32877a967c5
Author: Larry Finger <Larry.Finger@lwfinger.net>
Date:   Tue Nov 5 15:15:28 2013 -0600

    rtlwifi: rtl8192se: Fix incorrect signal strength for unassociated AP
    
    commit b4ade797668e33b4e8353c2701ce01d7084dfafa upstream.
    
    The routine that processes received frames was returning the RSSI value for the
    signal strength; however, that value is available only for associated APs. As
    a result, the strength was the absurd value of 10 dBm. As a result, scans
    return incorrect values for the strength, which causes unwanted attempts to roam.
    
    This patch fixes https://bugzilla.kernel.org/show_bug.cgi?id=63881.
    
    Signed-off-by: Larry Finger <Larry.Finger@lwfinger.net>
    Reported-by: Matthieu Baerts <matttbe@gmail.com>
    Signed-off-by: John W. Linville <linville@tuxdriver.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit 28a55f329d114cdb3b08d58ae7e4631f360a6aae
Author: Larry Finger <Larry.Finger@lwfinger.net>
Date:   Tue Nov 5 15:15:30 2013 -0600

    rtlwifi: rtl8192de: Fix incorrect signal strength for unassociated AP
    
    commit 3545f3d5f4af715c914394123ce7725a9cf0a1c4 upstream.
    
    The routine that processes received frames was returning the RSSI value for the
    signal strength; however, that value is available only for associated APs. As
    a result, the strength was the absurd value of 10 dBm. As a result, scans
    return incorrect values for the strength, which causes unwanted attempts to roam.
    
    Signed-off-by: Larry Finger <Larry.Finger@lwfinger.net>
    Signed-off-by: John W. Linville <linville@tuxdriver.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit 27c3c8635222fbaea7bdc3a7fb3c40832106a840
Author: Vegard Nossum <vegard.nossum@oracle.com>
Date:   Thu Sep 5 13:00:14 2013 +0200

    xen/blkback: fix reference counting
    
    commit ea5ec76d76da9279d12027c1828544c5ccbe7932 upstream.
    
    If the permission check fails, we drop a reference to the blkif without
    having taken it in the first place. The bug was introduced in commit
    604c499cbbcc3d5fe5fb8d53306aa0fae1990109 (xen/blkback: Check device
    permissions before allowing OP_DISCARD).
    
    Cc: Jan Beulich <JBeulich@suse.com>
    Cc: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
    Signed-off-by: Vegard Nossum <vegard.nossum@oracle.com>
    Signed-off-by: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
    Signed-off-by: Jens Axboe <axboe@kernel.dk>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit 0916687cc73543772197ed904657f77af144bce6
Author: Theodore Ts'o <tytso@mit.edu>
Date:   Thu Oct 31 23:00:24 2013 -0400

    ext4: avoid bh leak in retry path of ext4_expand_extra_isize_ea()
    
    commit dcb9917ba041866686fe152850364826c4622a36 upstream.
    
    Reported-by: Dave Jones <davej@redhat.com>
    Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit dba6d8ec7abae799b3e9ecf950318281937f8ff5
Author: Huang Shijie <b32955@freescale.com>
Date:   Tue Nov 12 12:23:08 2013 +0800

    mtd: gpmi: fix the NULL pointer
    
    commit 885d71e5838f68d5dbee92ab952cc90ad6c1dc6b upstream.
    
    The imx23 board will check the fingerprint, so it will call the
    mx23_check_transcription_stamp. This function will use @chip->buffers->databuf
    as its buffer which is allocated in the nand_scan_tail().
    
    Unfortunately, the mx23_check_transcription_stamp is called before the
    nand_scan_tail(). So we will meet a NULL pointer bug:
    
    --------------------------------------------------------------------
    [    1.150000] NAND device: Manufacturer ID: 0xec, Chip ID: 0xd7 (Samsung NAND 4GiB 3,3V 8-bit), 4096MiB, page size: 4096, OOB size: 8
    [    1.160000] Unable to handle kernel NULL pointer dereference at virtual address 000005d0
    [    1.170000] pgd = c0004000
    [    1.170000] [000005d0] *pgd=00000000
    [    1.180000] Internal error: Oops: 5 [#1] ARM
    [    1.180000] Modules linked in:
    [    1.180000] CPU: 0 PID: 1 Comm: swapper Not tainted 3.12.0 #89
    [    1.180000] task: c7440000 ti: c743a000 task.ti: c743a000
    [    1.180000] PC is at memcmp+0x10/0x54
    [    1.180000] LR is at gpmi_nand_probe+0x42c/0x894
    [    1.180000] pc : [<c025fcb0>]    lr : [<c02f6a68>]    psr: 20000053
    [    1.180000] sp : c743be2c  ip : 600000d3  fp : ffffffff
    [    1.180000] r10: 000005d0  r9 : c02f5f08  r8 : 00000000
    [    1.180000] r7 : c75858a8  r6 : c75858a8  r5 : c7585b18  r4 : c7585800
    [    1.180000] r3 : 000005d0  r2 : 00000004  r1 : c05c33e4  r0 : 000005d0
    [    1.180000] Flags: nzCv  IRQs on  FIQs off  Mode SVC_32  ISA ARM  Segment kernel
    [    1.180000] Control: 0005317f  Table: 40004000  DAC: 00000017
    [    1.180000] Process swapper (pid: 1, stack limit = 0xc743a1c0)
    --------------------------------------------------------------------
    
    This patch rearrange the init procedure:
       Set the NAND_SKIP_BBTSCAN to skip the nand scan firstly, and after we
       set the proper settings, we will call the chip->scan_bbt() manually.
    
    Signed-off-by: Huang Shijie <b32955@freescale.com>
    Reported-by: Fabio Estevam <festevam@gmail.com>
    Tested-by: Fabio Estevam <fabio.estevam@freescale.com>
    Signed-off-by: Brian Norris <computersforpeace@gmail.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit 559687590db4a3de6c63280914f2a3e3dcc7a478
Author: Huang Shijie <b32955@freescale.com>
Date:   Mon Nov 11 12:13:45 2013 +0800

    mtd: gpmi: fix kernel BUG due to racing DMA operations
    
    commit 7b3d2fb92067bcb29f0f085a9fa9fa64920a6646 upstream.
    
    [1] The gpmi uses the nand_command_lp to issue the commands to NAND chips.
        The gpmi issues a DMA operation with gpmi_cmd_ctrl when it handles
        a NAND_CMD_NONE control command. So when we read a page(NAND_CMD_READ0)
        from the NAND, we may send two DMA operations back-to-back.
    
        If we do not serialize the two DMA operations, we will meet a bug when
    
        1.1) we enable CONFIG_DMA_API_DEBUG, CONFIG_DMADEVICES_DEBUG,
             and CONFIG_DEBUG_SG.
    
        1.2) Use the following commands in an UART console and a SSH console:
             cmd 1: while true;do dd if=/dev/mtd0 of=/dev/null;done
             cmd 1: while true;do dd if=/dev/mmcblk0 of=/dev/null;done
    
        The kernel log shows below:
        -----------------------------------------------------------------
        kernel BUG at lib/scatterlist.c:28!
        Unable to handle kernel NULL pointer dereference at virtual address 00000000
          .........................
        [<80044a0c>] (__bug+0x18/0x24) from [<80249b74>] (sg_next+0x48/0x4c)
        [<80249b74>] (sg_next+0x48/0x4c) from [<80255398>] (debug_dma_unmap_sg+0x170/0x1a4)
        [<80255398>] (debug_dma_unmap_sg+0x170/0x1a4) from [<8004af58>] (dma_unmap_sg+0x14/0x6c)
        [<8004af58>] (dma_unmap_sg+0x14/0x6c) from [<8027e594>] (mxs_dma_tasklet+0x18/0x1c)
        [<8027e594>] (mxs_dma_tasklet+0x18/0x1c) from [<8007d444>] (tasklet_action+0x114/0x164)
        -----------------------------------------------------------------
    
        1.3) Assume the two DMA operations is X (first) and Y (second).
    
             The root cause of the bug:
    	   Assume process P issues DMA X, and sleep on the completion
    	 @this->dma_done. X's tasklet callback is dma_irq_callback. It firstly
    	 wake up the process sleeping on the completion @this->dma_done,
    	 and then trid to unmap the scatterlist S. The waked process P will
    	 issue Y in another ARM core. Y initializes S->sg_magic to zero
    	 with sg_init_one(), while dma_irq_callback is unmapping S at the same
    	 time.
    
    	 See the diagram:
    
                       ARM core 0              |         ARM core 1
    	 -------------------------------------------------------------
             (P issues DMA X, then sleep)  --> |
                                               |
             (X's tasklet wakes P)         --> |
                                               |
                                               | <-- (P begin to issue DMA Y)
                                               |
             (X's tasklet unmap the            |
          scatterlist S with dma_unmap_sg) --> | <-- (Y calls sg_init_one() to init
                                               |      scatterlist S)
                                               |
    
    [2] This patch serialize both the X and Y in the following way:
         Unmap the DMA scatterlist S firstly, and wake up the process at the end
         of the DMA callback, in such a way, Y will be executed after X.
    
         After this patch:
    
                       ARM core 0              |         ARM core 1
    	 -------------------------------------------------------------
             (P issues DMA X, then sleep)  --> |
                                               |
             (X's tasklet unmap the            |
          scatterlist S with dma_unmap_sg) --> |
                                               |
             (X's tasklet wakes P)         --> |
                                               |
                                               | <-- (P begin to issue DMA Y)
                                               |
                                               | <-- (Y calls sg_init_one() to init
                                               |     scatterlist S)
                                               |
    
    Signed-off-by: Huang Shijie <b32955@freescale.com>
    Signed-off-by: Brian Norris <computersforpeace@gmail.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit 8a631f3a6a650c3445b4463913e9aca50aafdde6
Author: Josh Wu <josh.wu@atmel.com>
Date:   Tue Nov 5 17:59:07 2013 +0800

    mtd: atmel_nand: fix bug driver will in a dead lock if no nand detected
    
    commit a749d13acd8e079ed4c77a9456d842dc94af8f17 upstream.
    
    In the atmel driver probe function, the code shows like following:
      atmel_nand_probe(...) {
            ...
    
      err_nand_ioremap:
            platform_driver_unregister(&atmel_nand_nfc_driver);
            return res;
      }
    
    If no nand flash detected, the driver probe function will goto
    err_nand_ioremap label.
    Then platform_driver_unregister() will be called. It will get the
    lock of atmel_nand device since it is parent of nfc_device. The
    problem is the lock is already hold by atmel_nand_probe itself.
    So system will be in a dead lock.
    
    This patch just simply removed to platform_driver_unregister() call.
    When atmel_nand driver is quit the platform_driver_unregister() will
    be called in atmel_nand_remove().
    
    [Brian: the NAND platform probe really has no business
     registering/unregistering another driver; this fixes the deadlock, but
     we should follow up the likely racy behavior here with a better
     architecture]
    
    Signed-off-by: Josh Wu <josh.wu@atmel.com>
    Signed-off-by: Brian Norris <computersforpeace@gmail.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit 7524987e3c505dd4e96c1eae5001e06c91d481e9
Author: Wang Haitao <wang.haitao1@zte.com.cn>
Date:   Thu Aug 22 19:32:38 2013 +0800

    mtd: map: fixed bug in 64-bit systems
    
    commit a4d62babf988fe5dfde24437fa135ef147bc7aa0 upstream.
    
    Hardware:
    	CPU: XLP832,the 64-bit OS
    	NOR Flash:S29GL128S 128M
    Software:
    	Kernel:2.6.32.41
    	Filesystem:JFFS2
    When writing files, errors appear:
    	Write len 182  but return retlen 180
    	Write of 182 bytes at 0x072c815c failed. returned -5, retlen 180
    	Write len 186  but return retlen 184
    	Write of 186 bytes at 0x072caff4 failed. returned -5, retlen 184
    These errors exist only in 64-bit systems,not in 32-bit systems. After analysis, we
    found that the left shift operation is wrong in map_word_load_partial. For instance:
    	unsigned char buf[3] ={0x9e,0x3a,0xea};
    	map_bankwidth(map) is 4;
    	for (i=0; i < 3; i++) {
    		int bitpos;
    		bitpos = (map_bankwidth(map)-1-i)*8;
    		orig.x[0] &= ~(0xff << bitpos);
    		orig.x[0] |= buf[i] << bitpos;
    	}
    
    The value of orig.x[0] is expected to be 0x9e3aeaff, but in this situation(64-bit
    System) we'll get the wrong value of 0xffffffff9e3aeaff due to the 64-bit sign
    extension:
    buf[i] is defined as "unsigned char" and the left-shift operation will convert it
    to the type of "signed int", so when left-shift buf[i] by 24 bits, the final result
    will get the wrong value: 0xffffffff9e3aeaff.
    
    If the left-shift bits are less than 24, then sign extension will not occur. Whereas
    the bankwidth of the nor flash we used is 4, therefore this BUG emerges.
    
    Signed-off-by: Pang Xunlei <pang.xunlei@zte.com.cn>
    Signed-off-by: Zhang Yi <zhang.yi20@zte.com.cn>
    Signed-off-by: Lu Zhongjun <lu.zhongjun@zte.com.cn>
    Signed-off-by: Brian Norris <computersforpeace@gmail.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit 0e2155bedf934f446edf64ffc3c21f09b61d6b4d
Author: Brian Norris <computersforpeace@gmail.com>
Date:   Wed Jul 24 18:32:07 2013 -0700

    mtd: m25p80: fix allocation size
    
    commit 778d226a1462572b51d6777cdb1d611543410cb4 upstream.
    
    This patch fixes two memory errors:
    
    1. During a probe failure (in mtd_device_parse_register?) the command
       buffer would not be freed.
    
    2. The command buffer's size is determined based on the 'fast_read'
       boolean, but the assignment of fast_read is made after this
       allocation. Thus, the buffer may be allocated "too small".
    
    To fix the first, just switch to the devres version of kzalloc.
    
    To fix the second, increase MAX_CMD_SIZE unconditionally. It's not worth
    saving a byte to fiddle around with the conditions here.
    
    This problem was reported by Yuhang Wang a while back.
    
    Signed-off-by: Brian Norris <computersforpeace@gmail.com>
    Reported-by: Yuhang Wang <wangyuhang2014@gmail.com>
    Reviewed-by: Sourav Poddar <sourav.poddar@ti.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit 87ce636f07aa77f000a6b8bc4b7449d7879b3005
Author: Brian Norris <computersforpeace@gmail.com>
Date:   Tue Aug 27 18:45:10 2013 -0700

    mtd: nand: hack ONFI for non-power-of-2 dimensions
    
    commit 4355b70cf48363c50a9de450b01178c83aba8f6a upstream.
    
    Some bright specification writers decided to write this in the ONFI spec
    (from ONFI 3.0, Section 3.1):
    
      "The number of blocks and number of pages per block is not required to
      be a power of two. In the case where one of these values is not a
      power of two, the corresponding address shall be rounded to an
      integral number of bits such that it addresses a range up to the
      subsequent power of two value. The host shall not access upper
      addresses in a range that is shown as not supported."
    
    This breaks every assumption MTD makes about NAND block/chip-size
    dimensions -- they *must* be a power of two!
    
    And of course, an enterprising manufacturer has made use of this lovely
    freedom. Exhibit A: Micron MT29F32G08CBADAWP
    
      "- Plane size: 2 planes x 1064 blocks per plane
       - Device size: 32Gb: 2128 blockss [sic]"
    
    This quickly hits a BUG() in nand_base.c, since the extra dimensions
    overflow so we think it's a second chip (on my single-chip setup):
    
        ONFI param page 0 valid
        ONFI flash detected
        NAND device: Manufacturer ID: 0x2c, Chip ID: 0x44 (Micron MT29F32G08CBADAWP), 4256MiB, page size: 8192, OOB size: 744
        ------------[ cut here ]------------
        kernel BUG at drivers/mtd/nand/nand_base.c:203!
        Internal error: Oops - BUG: 0 [#1] SMP ARM
        [... trim ...]
        [<c02cf3e4>] (nand_select_chip+0x18/0x2c) from [<c02d25c0>] (nand_do_read_ops+0x90/0x424)
        [<c02d25c0>] (nand_do_read_ops+0x90/0x424) from [<c02d2dd8>] (nand_read+0x54/0x78)
        [<c02d2dd8>] (nand_read+0x54/0x78) from [<c02ad2c8>] (mtd_read+0x84/0xbc)
        [<c02ad2c8>] (mtd_read+0x84/0xbc) from [<c02d4b28>] (scan_read.clone.4+0x4c/0x64)
        [<c02d4b28>] (scan_read.clone.4+0x4c/0x64) from [<c02d4c88>] (search_bbt+0x148/0x290)
        [<c02d4c88>] (search_bbt+0x148/0x290) from [<c02d4ea4>] (nand_scan_bbt+0xd4/0x5c0)
        [... trim ...]
        ---[ end trace 0c9363860d865ff2 ]---
    
    So to fix this, just truncate these dimensions down to the greatest
    power-of-2 dimension that is less than or equal to the specified
    dimension.
    
    Signed-off-by: Brian Norris <computersforpeace@gmail.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit b9762e28e9f03a72e80e4923d980ba4daabe8a86
Author: Mikulas Patocka <mpatocka@redhat.com>
Date:   Tue Oct 15 14:14:38 2013 -0600

    loop: fix crash when using unassigned loop device
    
    commit ef7e7c82e02b602f29c2b87f42dcd6143a6777da upstream.
    
    When the loop module is loaded, it creates 8 loop devices /dev/loop[0-7].
    The devices have no request routine and thus, when they are used without
    being assigned, a crash happens.
    
    For example, these commands cause crash (assuming there are no used loop
    devices):
    
    Kernel Fault: Code=26 regs=000000007f420980 (Addr=0000000000000010)
    CPU: 1 PID: 50 Comm: kworker/1:1 Not tainted 3.11.0 #1
    Workqueue: ksnaphd do_metadata [dm_snapshot]
    task: 000000007fcf4078 ti: 000000007f420000 task.ti: 000000007f420000
    [  116.319988]
         YZrvWESTHLNXBCVMcbcbcbcbOGFRQPDI
    PSW: 00001000000001001111111100001111 Not tainted
    r00-03  000000ff0804ff0f 00000000408bf5d0 00000000402d8204 000000007b7ff6c0
    r04-07  00000000408a95d0 000000007f420950 000000007b7ff6c0 000000007d06c930
    r08-11  000000007f4205c0 0000000000000001 000000007f4205c0 000000007f4204b8
    r12-15  0000000000000010 0000000000000000 0000000000000000 0000000000000000
    r16-19  000000001108dd48 000000004061cd7c 000000007d859800 000000000800000f
    r20-23  0000000000000000 0000000000000008 0000000000000000 0000000000000000
    r24-27  00000000ffffffff 000000007b7ff6c0 000000007d859800 00000000408a95d0
    r28-31  0000000000000000 000000007f420950 000000007f420980 000000007f4208e8
    sr00-03  0000000000000000 0000000000000000 0000000000000000 0000000000303000
    sr04-07  0000000000000000 0000000000000000 0000000000000000 0000000000000000
    [  117.549988]
    IASQ: 0000000000000000 0000000000000000 IAOQ: 00000000402d82fc 00000000402d8300
     IIR: 53820020    ISR: 0000000000000000  IOR: 0000000000000010
     CPU:        1   CR30: 000000007f420000 CR31: ffffffffffffffff
     ORIG_R28: 0000000000000001
     IAOQ[0]: generic_make_request+0x11c/0x1a0
     IAOQ[1]: generic_make_request+0x120/0x1a0
     RP(r2): generic_make_request+0x24/0x1a0
    Backtrace:
     [<00000000402d83f0>] submit_bio+0x70/0x140
     [<0000000011087c4c>] dispatch_io+0x234/0x478 [dm_mod]
     [<0000000011087f44>] sync_io+0xb4/0x190 [dm_mod]
     [<00000000110883bc>] dm_io+0x2c4/0x310 [dm_mod]
     [<00000000110bfcd0>] do_metadata+0x28/0xb0 [dm_snapshot]
     [<00000000401591d8>] process_one_work+0x160/0x460
     [<0000000040159bc0>] worker_thread+0x300/0x478
     [<0000000040161a70>] kthread+0x118/0x128
     [<0000000040104020>] end_fault_vector+0x20/0x28
     [<0000000040177220>] task_tick_fair+0x420/0x4d0
     [<00000000401aa048>] invoke_rcu_core+0x50/0x60
     [<00000000401ad5b8>] rcu_check_callbacks+0x210/0x8d8
     [<000000004014aaa0>] update_process_times+0xa8/0xc0
     [<00000000401ab86c>] rcu_process_callbacks+0x4b4/0x598
     [<0000000040142408>] __do_softirq+0x250/0x2c0
     [<00000000401789d0>] find_busiest_group+0x3c0/0xc70
    [  119.379988]
    Kernel panic - not syncing: Kernel Fault
    Rebooting in 1 seconds..
    
    Signed-off-by: Mikulas Patocka <mpatocka@redhat.com>
    Signed-off-by: Jens Axboe <axboe@kernel.dk>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit ec25370c6741866bad68a5a9854e300d52d34584
Author: Mikulas Patocka <mpatocka@redhat.com>
Date:   Mon Oct 14 12:12:24 2013 -0400

    loop: fix crash if blk_alloc_queue fails
    
    commit 3ec981e30fae1f3c8728a05c730acaa1f627bcfb upstream.
    
    loop: fix crash if blk_alloc_queue fails
    
    If blk_alloc_queue fails, loop_add cleans up, but it doesn't clean up the
    identifier allocated with idr_alloc. That causes crash on module unload in
    idr_for_each(&loop_index_idr, &loop_exit_cb, NULL); where we attempt to
    remove non-existed device with that id.
    
    BUG: unable to handle kernel NULL pointer dereference at 0000000000000380
    IP: [<ffffffff812057c9>] del_gendisk+0x19/0x2d0
    PGD 43d399067 PUD 43d0ad067 PMD 0
    Oops: 0000 [#1] PREEMPT SMP
    Modules linked in: loop(-) dm_snapshot dm_zero dm_mirror dm_region_hash dm_log dm_loop dm_mod ip6table_filter ip6_tables uvesafb cfbcopyarea cfbimgblt cfbfillrect fbcon font bitblit fbcon_rotate fbcon_cw fbcon_ud fbcon_ccw softcursor fb fbdev msr ipt_MASQUERADE iptable_nat nf_nat_ipv4 nf_conntrack_ipv4 nf_defrag_ipv4 xt_state ipt_REJECT xt_tcpudp iptable_filter ip_tables x_tables bridge stp llc tun ipv6 cpufreq_userspace cpufreq_stats cpufreq_ondemand cpufreq_conservative cpufreq_powersave spadfs fuse hid_generic usbhid hid raid0 md_mod dmi_sysfs nf_nat_ftp nf_nat nf_conntrack_ftp nf_conntrack snd_usb_audio snd_pcm_oss snd_mixer_oss snd_pcm snd_timer snd_page_alloc lm85 hwmon_vid snd_hwdep snd_usbmidi_lib snd_rawmidi snd soundcore acpi_cpufreq ohci_hcd freq_table tg3 ehci_pci mperf ehci_hcd kvm_amd kvm sata_svw serverworks libphy libata ide_core k10temp usbcore hwmon microcode ptp pcspkr pps_core e100 skge mii usb_common i2c_piix4 floppy evdev rtc_cmos i2c_core processor but!
     ton unix
    CPU: 7 PID: 2735 Comm: rmmod Tainted: G        W    3.10.15-devel #15
    Hardware name: empty empty/S3992-E, BIOS 'V1.06   ' 06/09/2009
    task: ffff88043d38e780 ti: ffff88043d21e000 task.ti: ffff88043d21e000
    RIP: 0010:[<ffffffff812057c9>]  [<ffffffff812057c9>] del_gendisk+0x19/0x2d0
    RSP: 0018:ffff88043d21fe10  EFLAGS: 00010282
    RAX: ffffffffa05102e0 RBX: 0000000000000000 RCX: 0000000000000000
    RDX: 0000000000000000 RSI: ffff88043ea82800 RDI: 0000000000000000
    RBP: ffff88043d21fe48 R08: 0000000000000000 R09: 0000000000000001
    R10: 0000000000000001 R11: 0000000000000000 R12: 00000000000000ff
    R13: 0000000000000080 R14: 0000000000000000 R15: ffff88043ea82800
    FS:  00007ff646534700(0000) GS:ffff880447000000(0000) knlGS:0000000000000000
    CS:  0010 DS: 0000 ES: 0000 CR0: 000000008005003b
    CR2: 0000000000000380 CR3: 000000043e9bf000 CR4: 00000000000007e0
    DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000
    DR3: 0000000000000000 DR6: 00000000ffff0ff0 DR7: 0000000000000400
    Stack:
     ffffffff8100aba4 0000000000000092 ffff88043d21fe48 ffff88043ea82800
     00000000000000ff ffff88043d21fe98 0000000000000000 ffff88043d21fe60
     ffffffffa05102b4 0000000000000000 ffff88043d21fe70 ffffffffa05102ec
    Call Trace:
     [<ffffffff8100aba4>] ? native_sched_clock+0x24/0x80
     [<ffffffffa05102b4>] loop_remove+0x14/0x40 [loop]
     [<ffffffffa05102ec>] loop_exit_cb+0xc/0x10 [loop]
     [<ffffffff81217b74>] idr_for_each+0x104/0x190
     [<ffffffffa05102e0>] ? loop_remove+0x40/0x40 [loop]
     [<ffffffff8109adc5>] ? trace_hardirqs_on_caller+0x105/0x1d0
     [<ffffffffa05135dc>] loop_exit+0x34/0xa58 [loop]
     [<ffffffff810a98ea>] SyS_delete_module+0x13a/0x260
     [<ffffffff81221d5e>] ? trace_hardirqs_on_thunk+0x3a/0x3f
     [<ffffffff813cff16>] system_call_fastpath+0x1a/0x1f
    Code: f0 4c 8b 6d f8 c9 c3 66 66 2e 0f 1f 84 00 00 00 00 00 55 48 89 e5 41 56 41 55 4c 8d af 80 00 00 00 41 54 53 48 89 fb 48 83 ec 18 <48> 83 bf 80 03 00
    00 00 74 4d e8 98 fe ff ff 31 f6 48 c7 c7 20
    RIP  [<ffffffff812057c9>] del_gendisk+0x19/0x2d0
     RSP <ffff88043d21fe10>
    CR2: 0000000000000380
    ---[ end trace 64ec069ec70f1309 ]---
    
    Signed-off-by: Mikulas Patocka <mpatocka@redhat.com>
    Acked-by: Tejun Heo <tj@kernel.org>
    Signed-off-by: Jens Axboe <axboe@kernel.dk>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit cd8875d6dc847cc3c370826022fed62dc2ed3194
Author: Bart Van Assche <bvanassche@acm.org>
Date:   Thu Oct 10 13:53:25 2013 +0200

    IB/srp: Report receive errors correctly
    
    commit cd4e38542a5c2cab94e5410fb17c1cc004a60792 upstream.
    
    The IB spec does not guarantee that the opcode is available in error
    completions.  Hence do not rely on it.  See also commit 948d1e889e5b
    ("IB/srp: Introduce srp_handle_qp_err()").
    
    Signed-off-by: Bart Van Assche <bvanassche@acm.org>
    Signed-off-by: Roland Dreier <roland@purestorage.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit 748d2db3a5aced2d40dbb884450efbb843fd5e50
Author: Bart Van Assche <bvanassche@acm.org>
Date:   Thu Oct 10 13:52:33 2013 +0200

    IB/srp: Avoid offlining operational SCSI devices
    
    commit 99b6697a50c2acbe3ca2772d359fc9a28835dc84 upstream.
    
    If SCSI commands are submitted with a SCSI request timeout that is
    lower than the the IB RC timeout, it can happen that the SCSI error
    handler has already started device recovery before transport layer
    error handling starts.  So it can happen that the SCSI error handler
    tries to abort a SCSI command after it has been reset by
    srp_rport_reconnect().
    
    Tell the SCSI error handler that such commands have finished and that
    it is not necessary to continue its recovery strategy for commands
    that have been reset by srp_rport_reconnect().
    
    Signed-off-by: Bart Van Assche <bvanassche@acm.org>
    Signed-off-by: Roland Dreier <roland@purestorage.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit a3ecf3cc3ba14a603642d60af8c8e80798d1d492
Author: Vu Pham <vuhuong@mellanox.com>
Date:   Thu Oct 10 13:50:29 2013 +0200

    IB/srp: Remove target from list before freeing Scsi_Host structure
    
    commit 65d7dd2f3479ef5aec1d9ddd1481cb7851c11af6 upstream.
    
    Remove an SRP target from the SRP target list before invoking the last
    scsi_host_put() call.  This change is necessary because that last put
    frees the memory that holds the srp_target_port structure.
    
    This patch prevents the following kernel oops:
    
        RIP: 0010:[<ffffffff810b00d0>] __lock_acquire+0x500/0x1570
        Call Trace:
         [<ffffffff810b11e4>] lock_acquire+0xa4/0x120
         [<ffffffff81531206>] _spin_lock+0x36/0x70
         [<ffffffffa01b6d8f>] srp_remove_work+0xef/0x180 [ib_srp]
         [<ffffffff8109125c>] worker_thread+0x21c/0x3d0
         [<ffffffff81096e86>] kthread+0x96/0xa0
         [<ffffffff8100c20a>] child_rip+0xa/0x20
    
    Signed-off-by: Vu Pham <vuhuong@mellanox.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
    
    [ bvanassche - Modified path description and CC'ed stable. ]
    
    Signed-off-by: Bart Van Assche <bvanassche@acm.org>
    Signed-off-by: Roland Dreier <roland@purestorage.com>

commit 09304cda8a43b4b119d37fc1721a33325dba4205
Author: Mike Marciniszyn <mike.marciniszyn@intel.com>
Date:   Fri Oct 25 11:17:59 2013 -0400

    IB/qib: Fix txselect regression
    
    commit 2fadd83184d58701f1116ca578465b5a75f9417c upstream.
    
    Commit 7fac33014f54("IB/qib: checkpatch fixes") was overzealous in
    removing a simple_strtoul for a parse routine, setup_txselect().  That
    routine is required to handle a multi-value string.
    
    Unwind that aspect of the fix.
    
    Signed-off-by: Mike Marciniszyn <mike.marciniszyn@intel.com>
    Signed-off-by: Roland Dreier <roland@purestorage.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit 6e604271f62eb2dd69581c86be88e69716f644fd
Author: Jan Kara <jack@suse.cz>
Date:   Fri Oct 4 09:29:12 2013 -0400

    IB/qib: Convert qib_user_sdma_pin_pages() to use get_user_pages_fast()
    
    commit 603e7729920e42b3c2f4dbfab9eef4878cb6e8fa upstream.
    
    qib_user_sdma_queue_pkts() gets called with mmap_sem held for
    writing. Except for get_user_pages() deep down in
    qib_user_sdma_pin_pages() we don't seem to need mmap_sem at all.  Even
    more interestingly the function qib_user_sdma_queue_pkts() (and also
    qib_user_sdma_coalesce() called somewhat later) call copy_from_user()
    which can hit a page fault and we deadlock on trying to get mmap_sem
    when handling that fault.
    
    So just make qib_user_sdma_pin_pages() use get_user_pages_fast() and
    leave mmap_sem locking for mm.
    
    This deadlock has actually been observed in the wild when the node
    is under memory pressure.
    
    Reviewed-by: Mike Marciniszyn <mike.marciniszyn@intel.com>
    Signed-off-by: Jan Kara <jack@suse.cz>
    Signed-off-by: Roland Dreier <roland@purestorage.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit f292f8b1e92047c2b676b0f6e2c88cd4c2797d16
Author: Jan Kara <jack@suse.cz>
Date:   Fri Oct 4 09:29:06 2013 -0400

    IB/ipath: Convert ipath_user_sdma_pin_pages() to use get_user_pages_fast()
    
    commit 4adcf7fb6783e354aab38824d803fa8c4f8e8a27 upstream.
    
    ipath_user_sdma_queue_pkts() gets called with mmap_sem held for
    writing.  Except for get_user_pages() deep down in
    ipath_user_sdma_pin_pages() we don't seem to need mmap_sem at all.
    
    Even more interestingly the function ipath_user_sdma_queue_pkts() (and
    also ipath_user_sdma_coalesce() called somewhat later) call
    copy_from_user() which can hit a page fault and we deadlock on trying
    to get mmap_sem when handling that fault.  So just make
    ipath_user_sdma_pin_pages() use get_user_pages_fast() and leave
    mmap_sem locking for mm.
    
    This deadlock has actually been observed in the wild when the node
    is under memory pressure.
    
    Signed-off-by: Jan Kara <jack@suse.cz>
    Signed-off-by: Mike Marciniszyn <mike.marciniszyn@intel.com>
    [ Merged in fix for call to get_user_pages_fast from Tetsuo Handa
      <penguin-kernel@I-love.SAKURA.ne.jp>.  - Roland ]
    Signed-off-by: Roland Dreier <roland@purestorage.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit ee265ec27a5727822118b040a980730a97de4bee
Author: Eric Seppanen <eric@purestorage.com>
Date:   Wed Nov 20 14:19:52 2013 -0800

    iscsi-target: chap auth shouldn't match username with trailing garbage
    
    commit 86784c6bdeeef78eed94d298be7a8879f6a97ee2 upstream.
    
    In iSCSI negotiations with initiator CHAP enabled, usernames with
    trailing garbage are permitted, because the string comparison only
    checks the strlen of the configured username.
    
    e.g. "usernameXXXXX" will be permitted to match "username".
    
    Just check one more byte so the trailing null char is also matched.
    
    Signed-off-by: Eric Seppanen <eric@purestorage.com>
    Signed-off-by: Nicholas Bellinger <nab@linux-iscsi.org>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit 9457444765ff2125c970a92011f24f1eb20e75cc
Author: Eric Seppanen <eric@purestorage.com>
Date:   Wed Nov 20 14:19:51 2013 -0800

    iscsi-target: fix extract_param to handle buffer length corner case
    
    commit 369653e4fb511928511b0ce81f41c812ff1f28b6 upstream.
    
    extract_param() is called with max_length set to the total size of the
    output buffer.  It's not safe to allow a parameter length equal to the
    buffer size as the terminating null would be written one byte past the
    end of the output buffer.
    
    Signed-off-by: Eric Seppanen <eric@purestorage.com>
    Signed-off-by: Nicholas Bellinger <nab@linux-iscsi.org>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit 82452e2aa3fa08c0851c5fbcdbecb17ba271c0e6
Author: Nicholas Bellinger <nab@linux-iscsi.org>
Date:   Tue Nov 12 17:54:56 2013 -0800

    iscsi-target: Fix mutex_trylock usage in iscsit_increment_maxcmdsn
    
    commit 5e8e6b4b3adebf01a9d97056cbbfd8c44330df99 upstream.
    
    This patch fixes a >= v3.10 regression bug with mutex_trylock() usage
    within iscsit_increment_maxcmdsn(), that was originally added to allow
    for a special case where ->cmdsn_mutex was already held from the
    iscsit_execute_cmd() exception path for ib_isert.
    
    When !mutex_trylock() was occuring under contention during normal RX/TX
    process context codepaths, the bug was manifesting itself as the following
    protocol error:
    
      Received CmdSN: 0x000fcbb7 is greater than MaxCmdSN: 0x000fcbb6, protocol error.
      Received CmdSN: 0x000fcbb8 is greater than MaxCmdSN: 0x000fcbb6, protocol error.
    
    This patch simply avoids the direct ib_isert callback in lio_queue_status()
    for the special iscsi_execute_cmd() exception cases, that allows the problematic
    mutex_trylock() usage in iscsit_increment_maxcmdsn() to go away.
    
    Reported-by: Moussa Ba <moussaba@micron.com>
    Tested-by: Moussa Ba <moussaba@micron.com>
    Signed-off-by: Nicholas Bellinger <nab@linux-iscsi.org>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit c6f8707fcf96d49505f1b382398902936dd17af5
Author: Samir Benmendil <samir.benmendil@gmail.com>
Date:   Sun Nov 17 23:56:17 2013 +0100

    ahci: add Marvell 9230 to the AHCI PCI device list
    
    commit 6d5278a68a75891db1df5ae1ecf83d288fc58c65 upstream.
    
    Tested with a DAWICONTROL DC-624e on 3.10.10
    
    Signed-off-by: Samir Benmendil <samir.benmendil@gmail.com>
    Signed-off-by: Tejun Heo <tj@kernel.org>
    Reviewed-by: Levente Kurusa <levex@linux.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit 9cfb82a3a07e7718e04204700f5134d6eafcb8bf
Author: xiangliang yu <yxlraid@gmail.com>
Date:   Sun Oct 27 08:03:04 2013 -0400

    ahci: disabled FBS prior to issuing software reset
    
    commit 89dafa20f3daab5b3e0c13d0068a28e8e64e2102 upstream.
    
    Tested with Marvell 88se9125, attached with one port mulitplier(5 ports)
    and one disk, we will get following boot log messages if using current
    code:
    
      ata8: SATA link up 6.0 Gbps (SStatus 133 SControl 330)
      ata8.15: Port Multiplier 1.2, 0x1b4b:0x9715 r160, 5 ports, feat 0x1/0x1f
      ahci 0000:03:00.0: FBS is enabled
      ata8.00: hard resetting link
      ata8.00: SATA link down (SStatus 0 SControl 330)
      ata8.01: hard resetting link
      ata8.01: SATA link down (SStatus 0 SControl 330)
      ata8.02: hard resetting link
      ata8.02: SATA link down (SStatus 0 SControl 330)
      ata8.03: hard resetting link
      ata8.03: SATA link up 6.0 Gbps (SStatus 133 SControl 133)
      ata8.04: hard resetting link
      ata8.04: failed to resume link (SControl 133)
      ata8.04: failed to read SCR 0 (Emask=0x40)
      ata8.04: failed to read SCR 0 (Emask=0x40)
      ata8.04: failed to read SCR 1 (Emask=0x40)
      ata8.04: failed to read SCR 0 (Emask=0x40)
      ata8.03: native sectors (2) is smaller than sectors (976773168)
      ata8.03: ATA-8: ST3500413AS, JC4B, max UDMA/133
      ata8.03: 976773168 sectors, multi 0: LBA48 NCQ (depth 31/32)
      ata8.03: configured for UDMA/133
      ata8.04: failed to IDENTIFY (I/O error, err_mask=0x100)
      ata8.15: hard resetting link
      ata8.15: SATA link up 6.0 Gbps (SStatus 133 SControl 330)
      ata8.15: Port Multiplier vendor mismatch '0x1b4b' != '0x133'
      ata8.15: PMP revalidation failed (errno=-19)
      ata8.15: hard resetting link
      ata8.15: SATA link up 6.0 Gbps (SStatus 133 SControl 330)
      ata8.15: Port Multiplier vendor mismatch '0x1b4b' != '0x133'
      ata8.15: PMP revalidation failed (errno=-19)
      ata8.15: limiting SATA link speed to 3.0 Gbps
      ata8.15: hard resetting link
      ata8.15: SATA link up 3.0 Gbps (SStatus 123 SControl 320)
      ata8.15: Port Multiplier vendor mismatch '0x1b4b' != '0x133'
      ata8.15: PMP revalidation failed (errno=-19)
      ata8.15: failed to recover PMP after 5 tries, giving up
      ata8.15: Port Multiplier detaching
      ata8.03: disabled
      ata8.00: disabled
      ata8: EH complete
    
    The reason is that current detection code doesn't follow AHCI spec:
    
    First,the port multiplier detection process look like this:
    
    	ahci_hardreset(link, class, deadline)
    	if (class == ATA_DEV_PMP) {
    		sata_pmp_attach(dev)	/* will enable FBS */
    		sata_pmp_init_links(ap, nr_ports);
    		ata_for_each_link(link, ap, EDGE) {
    			sata_std_hardreset(link, class, deadline);
    			if (link_is_online)	/* do soft reset */
    				ahci_softreset(link, class, deadline);
    		}
    	}
    But, according to chapter 9.3.9 in AHCI spec: Prior to issuing software
    reset, software shall clear PxCMD.ST to '0' and then clear PxFBS.EN to
    '0'.
    
    The patch test ok with kernel 3.11.1.
    
    tj: Patch white space contaminated, applied manually with trivial
        updates.
    
    Signed-off-by: Xiangliang Yu <yuxiangl@marvell.com>
    Signed-off-by: Tejun Heo <tj@kernel.org>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit e7125540c3a46fd17837f19e8c2e2e804fb76cab
Author: James Ralston <james.d.ralston@intel.com>
Date:   Mon Nov 4 09:24:58 2013 -0800

    ahci: Add Device IDs for Intel Wildcat Point-LP
    
    commit 9f961a5f6efc87a79571d7166257b36af28ffcfe upstream.
    
    This patch adds the AHCI-mode SATA Device IDs for the Intel Wildcat Point-LP PCH.
    
    Signed-off-by: James Ralston <james.d.ralston@intel.com>
    Signed-off-by: Tejun Heo <tj@kernel.org>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit 620ff33d7cb1d446c1e24fbfe1a033106b99e5c4
Author: Mathias Krause <minipli@googlemail.com>
Date:   Tue Nov 12 15:11:47 2013 -0800

    ipc, msg: fix message length check for negative values
    
    commit 4e9b45a19241354daec281d7a785739829b52359 upstream.
    
    On 64 bit systems the test for negative message sizes is bogus as the
    size, which may be positive when evaluated as a long, will get truncated
    to an int when passed to load_msg().  So a long might very well contain a
    positive value but when truncated to an int it would become negative.
    
    That in combination with a small negative value of msg_ctlmax (which will
    be promoted to an unsigned type for the comparison against msgsz, making
    it a big positive value and therefore make it pass the check) will lead to
    two problems: 1/ The kmalloc() call in alloc_msg() will allocate a too
    small buffer as the addition of alen is effectively a subtraction.  2/ The
    copy_from_user() call in load_msg() will first overflow the buffer with
    userland data and then, when the userland access generates an access
    violation, the fixup handler copy_user_handle_tail() will try to fill the
    remainder with zeros -- roughly 4GB.  That almost instantly results in a
    system crash or reset.
    
      ,-[ Reproducer (needs to be run as root) ]--
      | #include <sys/stat.h>
      | #include <sys/msg.h>
      | #include <unistd.h>
      | #include <fcntl.h>
      |
      | int main(void) {
      |     long msg = 1;
      |     int fd;
      |
      |     fd = open("/proc/sys/kernel/msgmax", O_WRONLY);
      |     write(fd, "-1", 2);
      |     close(fd);
      |
      |     msgsnd(0, &msg, 0xfffffff0, IPC_NOWAIT);
      |
      |     return 0;
      | }
      '---
    
    Fix the issue by preventing msgsz from getting truncated by consistently
    using size_t for the message length.  This way the size checks in
    do_msgsnd() could still be passed with a negative value for msg_ctlmax but
    we would fail on the buffer allocation in that case and error out.
    
    Also change the type of m_ts from int to size_t to avoid similar nastiness
    in other code paths -- it is used in similar constructs, i.e.  signed vs.
    unsigned checks.  It should never become negative under normal
    circumstances, though.
    
    Setting msg_ctlmax to a negative value is an odd configuration and should
    be prevented.  As that might break existing userland, it will be handled
    in a separate commit so it could easily be reverted and reworked without
    reintroducing the above described bug.
    
    Hardening mechanisms for user copy operations would have catched that bug
    early -- e.g.  checking slab object sizes on user copy operations as the
    usercopy feature of the PaX patch does.  Or, for that matter, detect the
    long vs.  int sign change due to truncation, as the size overflow plugin
    of the very same patch does.
    
    [akpm@linux-foundation.org: fix i386 min() warnings]
    Signed-off-by: Mathias Krause <minipli@googlemail.com>
    Cc: Pax Team <pageexec@freemail.hu>
    Cc: Davidlohr Bueso <davidlohr@hp.com>
    Cc: Brad Spengler <spender@grsecurity.net>
    Cc: Manfred Spraul <manfred@colorfullife.com>
    Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
    Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit c6ab0ff1a896b65e8139adde81b0f7eea67fd616
Author: Larry Finger <Larry.Finger@lwfinger.net>
Date:   Sun Nov 10 22:11:16 2013 -0600

    rtlwifi: rtl8192cu: Fix more pointer arithmetic errors
    
    commit eafbdde9c5629bea58df07275c5917eb42afbbe7 upstream.
    
    This driver uses a number of macros to get and set various fields in the
    RX and TX descriptors. To work correctly, a u8 pointer to the descriptor
    must be used; however, in some cases a descriptor structure pointer is used
    instead. In addition, a duplicated statement is removed.
    
    Signed-off-by: Larry Finger <Larry.Finger@lwfinger.net>
    Reported-by: Mark Cave-Ayland <mark.cave-ayland@ilande.co.uk>
    Signed-off-by: John W. Linville <linville@tuxdriver.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit b11e2eb87e48dbb6a7c7ee74312c7bd5c815fe05
Author: Felipe Pena <felipensp@gmail.com>
Date:   Fri Oct 18 21:52:40 2013 -0300

    rtlwifi: rtl8192se: Fix wrong assignment
    
    commit 3aef7dde8dcf09e0124f0a2665845a507331972b upstream.
    
    There is a typo in the struct member name on assignment when checking
    rtlphy->current_chan_bw == HT_CHANNEL_WIDTH_20_40, the check uses pwrgroup_ht40
    for bound limit and uses pwrgroup_ht20 when assigning instead.
    
    Signed-off-by: Felipe Pena <felipensp@gmail.com>
    Acked-by: Larry Finger <Larry.Finger@lwfinger.net>
    Signed-off-by: John W. Linville <linville@tuxdriver.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit fb1f1a73d489f6e3f3e04d3e3710aee80f7ff9a5
Author: Mark Cave-Ayland <mark.cave-ayland@ilande.co.uk>
Date:   Sat Nov 2 14:28:35 2013 -0500

    rtlwifi: Fix endian error in extracting packet type
    
    commit 0c5d63f0ab6728f05ddefa25aff55e31297f95e6 upstream.
    
    All of the rtlwifi drivers have an error in the routine that tests if
    the data is "special". If it is, the subsequant transmission will be
    at the lowest rate to enhance reliability. The 16-bit quantity is
    big-endian, but was being extracted in native CPU mode. One of the
    effects of this bug is to inhibit association under some conditions
    as the TX rate is too high.
    
    Based on suggestions by Joe Perches, the entire routine is rewritten.
    
    One of the local headers contained duplicates of some of the ETH_P_XXX
    definitions. These are deleted.
    
    Signed-off-by: Larry Finger <Larry.Finger@lwfinger.net>
    Cc: Mark Cave-Ayland <mark.cave-ayland@ilande.co.uk>
    Signed-off-by: John W. Linville <linville@tuxdriver.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit 4a5170254cdda5bde5ee2f596a2f3669b7af0ae5
Author: Larry Finger <Larry.Finger@lwfinger.net>
Date:   Wed Sep 25 12:57:48 2013 -0500

    rtlwifi: rtl8188ee: Fix smatch warning in rtl8188ee/hw.c
    
    commit dab3df5e88b979f8d09860f873ccfaa7a55758d2 upstream.
    
    Smatch lists the following:
      CHECK   drivers/net/wireless/rtlwifi/rtl8188ee/hw.c
    drivers/net/wireless/rtlwifi/rtl8188ee/hw.c:149 _rtl88ee_set_fw_clock_on() info: ignoring unreachable code.
    drivers/net/wireless/rtlwifi/rtl8188ee/hw.c:149 _rtl88ee_set_fw_clock_on() info: ignoring unreachable code.
    
    This info message is the result of a real error due to a missing break statement
    in a "while (1)" loop.
    
    Signed-off-by: Larry Finger <Larry.Finger@lwfinger.net>
    Signed-off-by: John W. Linville <linville@tuxdriver.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit 4aa3ce54796821eeda5ac3c14409ca3b22c9274c
Author: Ryan Mallon <rmallon@gmail.com>
Date:   Tue Nov 12 15:08:51 2013 -0800

    vsprintf: check real user/group id for %pK
    
    commit 312b4e226951f707e120b95b118cbc14f3d162b2 upstream.
    
    Some setuid binaries will allow reading of files which have read
    permission by the real user id.  This is problematic with files which
    use %pK because the file access permission is checked at open() time,
    but the kptr_restrict setting is checked at read() time.  If a setuid
    binary opens a %pK file as an unprivileged user, and then elevates
    permissions before reading the file, then kernel pointer values may be
    leaked.
    
    This happens for example with the setuid pppd application on Ubuntu 12.04:
    
      $ head -1 /proc/kallsyms
      00000000 T startup_32
    
      $ pppd file /proc/kallsyms
      pppd: In file /proc/kallsyms: unrecognized option 'c1000000'
    
    This will only leak the pointer value from the first line, but other
    setuid binaries may leak more information.
    
    Fix this by adding a check that in addition to the current process having
    CAP_SYSLOG, that effective user and group ids are equal to the real ids.
    If a setuid binary reads the contents of a file which uses %pK then the
    pointer values will be printed as NULL if the real user is unprivileged.
    
    Update the sysctl documentation to reflect the changes, and also correct
    the documentation to state the kptr_restrict=0 is the default.
    
    This is a only temporary solution to the issue.  The correct solution is
    to do the permission check at open() time on files, and to replace %pK
    with a function which checks the open() time permission.  %pK uses in
    printk should be removed since no sane permission check can be done, and
    instead protected by using dmesg_restrict.
    
    Signed-off-by: Ryan Mallon <rmallon@gmail.com>
    Cc: Kees Cook <keescook@chromium.org>
    Cc: Alexander Viro <viro@zeniv.linux.org.uk>
    Cc: Joe Perches <joe@perches.com>
    Cc: "Eric W. Biederman" <ebiederm@xmission.com>
    Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
    Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit 0a2f4ddf2d173f1c9addffef61b5eed3658ff244
Author: Shan Hai <shan.hai@windriver.com>
Date:   Mon Oct 28 16:08:01 2013 +0800

    drivers/libata: Set max sector to 65535 for Slimtype DVD A DS8A9SH drive
    
    commit 0523f037f65dba10191b0fa9c51266f90ba64630 upstream.
    
    The "Slimtype DVD A  DS8A9SH" drive locks up with following backtrace when
    the max sector is smaller than 65535 bytes, fix it by adding a quirk to set
    the max sector to 65535 bytes.
    
    INFO: task flush-11:0:663 blocked for more than 120 seconds.
    "echo 0 > /proc/sys/kernel/hung_task_timeout_secs" disables this message.
    flush-11:0    D 00000000ffff5ceb     0   663      2 0x00000000
     ffff88026d3b1710 0000000000000046 0000000000000001 0000000000000000
     ffff88026f2530c0 ffff88026d365860 ffff88026d3b16e0 ffffffff812ffd52
     ffff88026d4fd3d0 0000000100000001 ffff88026d3b16f0 ffff88026d3b1fd8
    Call Trace:
     [<ffffffff812ffd52>] ? cfq_may_queue+0x52/0xf0
     [<ffffffff81604338>] schedule+0x18/0x30
     [<ffffffff81604392>] io_schedule+0x42/0x60
     [<ffffffff812f22bb>] get_request_wait+0xeb/0x1f0
     [<ffffffff81065660>] ? autoremove_wake_function+0x0/0x40
     [<ffffffff812eb382>] ? elv_merge+0x42/0x210
     [<ffffffff812f26ae>] __make_request+0x8e/0x4e0
     [<ffffffff812f068e>] generic_make_request+0x21e/0x5e0
     [<ffffffff812f0aad>] submit_bio+0x5d/0xd0
     [<ffffffff81141422>] submit_bh+0xf2/0x130
     [<ffffffff8114474c>] __block_write_full_page+0x1dc/0x3a0
     [<ffffffff81143f60>] ? end_buffer_async_write+0x0/0x120
     [<ffffffff811474e0>] ? blkdev_get_block+0x0/0x70
     [<ffffffff811474e0>] ? blkdev_get_block+0x0/0x70
     [<ffffffff81143f60>] ? end_buffer_async_write+0x0/0x120
     [<ffffffff811449ee>] block_write_full_page_endio+0xde/0x100
     [<ffffffff81144a20>] block_write_full_page+0x10/0x20
     [<ffffffff81148703>] blkdev_writepage+0x13/0x20
     [<ffffffff810d7525>] __writepage+0x15/0x40
     [<ffffffff810d7c0f>] write_cache_pages+0x1cf/0x3e0
     [<ffffffff810d7510>] ? __writepage+0x0/0x40
     [<ffffffff810d7e42>] generic_writepages+0x22/0x30
     [<ffffffff810d7e6f>] do_writepages+0x1f/0x40
     [<ffffffff8113ae67>] writeback_single_inode+0xe7/0x3b0
     [<ffffffff8113b574>] writeback_sb_inodes+0x184/0x280
     [<ffffffff8113bedb>] writeback_inodes_wb+0x6b/0x1a0
     [<ffffffff8113c24b>] wb_writeback+0x23b/0x2a0
     [<ffffffff8113c42d>] wb_do_writeback+0x17d/0x190
     [<ffffffff8113c48b>] bdi_writeback_task+0x4b/0xe0
     [<ffffffff810e82a0>] ? bdi_start_fn+0x0/0x100
     [<ffffffff810e8321>] bdi_start_fn+0x81/0x100
     [<ffffffff810e82a0>] ? bdi_start_fn+0x0/0x100
     [<ffffffff8106522e>] kthread+0x8e/0xa0
     [<ffffffff81039274>] ? finish_task_switch+0x54/0xc0
     [<ffffffff81003334>] kernel_thread_helper+0x4/0x10
     [<ffffffff810651a0>] ? kthread+0x0/0xa0
     [<ffffffff81003330>] ? kernel_thread_helper+0x0/0x10
    
     The above trace was triggered by
       "dd if=/dev/zero of=/dev/sr0 bs=2048 count=32768"
    
    Signed-off-by: Shan Hai <shan.hai@windriver.com>
    Signed-off-by: Tejun Heo <tj@kernel.org>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit 7b7329ef41bba7ba9f26276c2eb783b7d7de41d2
Author: Gwendal Grignou <gwendal@google.com>
Date:   Fri Oct 25 16:28:57 2013 -0700

    libata: Fix display of sata speed
    
    commit 3e85c3ecbc520751324a191d23bb94873ed01b10 upstream.
    
    6.0 Gbps link speed was not decoded properly:
    speed was reported at 3.0 Gbps only.
    
    Tested: On a machine where libata reports 6.0 Gbps in
            /var/log/messages:
        ata1: SATA link up 6.0 Gbps (SStatus 133 SControl 300)
    
        Before:
        	cat /sys/class/ata_link/link1/sata_spd
        	3.0 Gbps
        After:
        	cat /sys/class/ata_link/link1/sata_spd
        	6.0 Gbps
    
    Signed-off-by: Gwendal Grignou <gwendal@google.com>
    Signed-off-by: Tejun Heo <tj@kernel.org>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit cf9f229b9b367f9c92b495cc061078c028eb5e98
Author: Dan Carpenter <dan.carpenter@oracle.com>
Date:   Thu Nov 7 10:56:51 2013 +0300

    gpio: rcar: NULL dereference on error in probe()
    
    commit 0c8aab8e65e450f2bfea494c1b6a86ded653f88c upstream.
    
    It's not obvious from the label name but "err1" tries to release
    "p->irq_domain" which leads to a NULL dereference.
    
    Fixes: 119f5e448d32 ('gpio: Renesas R-Car GPIO driver V3')
    
    Signed-off-by: Dan Carpenter <dan.carpenter@oracle.com>
    Acked-by: Magnus Damm <damm@opensource.se>
    Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit afd4eae17d5d582fe0660896a116799b3fd44f99
Author: Dan Carpenter <dan.carpenter@oracle.com>
Date:   Thu Nov 7 10:51:34 2013 +0300

    gpio: msm: make msm_gpio.summary_irq signed for error handling
    
    commit bfea603bc54c0a736d45bc60b188a8cdae9aaaa3 upstream.
    
    There is a bug in msm_gpio_probe() where we do:
    
    	msm_gpio.summary_irq = platform_get_irq(pdev, 0);
    	if (msm_gpio.summary_irq < 0) {
    
    The problem is that "msm_gpio.summary_irq" is unsigned so the error
    handling doesn't work.  I've fixed it by making it signed.
    
    Fixes: 43f68444bce7 ('gpio: msm: Add device tree and irqdomain support for gpio-msm-v2')
    
    Signed-off-by: Dan Carpenter <dan.carpenter@oracle.com>
    Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit 5153c120fa6c368c4e9a28d9a5864c91fbfb15c3
Author: Dan Carpenter <dan.carpenter@oracle.com>
Date:   Thu Nov 7 10:50:19 2013 +0300

    gpio: mvebu: make mvchip->irqbase signed for error handling
    
    commit d535922691fc026479fcc03e78ac3d931a54e75a upstream.
    
    There is a bug in mvebu_gpio_probe() where we do:
    
    	mvchip->irqbase = irq_alloc_descs(-1, 0, ngpios, -1);
    	if (mvchip->irqbase < 0) {
    
    The problem is that mvchip->irqbase is unsigned so the error handling
    doesn't work.  I have changed it to be a regular int.
    
    Signed-off-by: Dan Carpenter <dan.carpenter@oracle.com>
    Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit cf89c76189b3dd3476958975171bc548c603cc26
Author: Tony Lindgren <tony@atomide.com>
Date:   Mon Nov 18 15:22:49 2013 -0800

    gpio: twl4030: Fix regression for twl gpio output
    
    commit 0b2aa8bed3e13892fcac77e4f50ec6e80125469d upstream.
    
    Commit c111feabe2e2 (gpio: twl4030: Cache the direction and output
    states in private data) improved things in general, but caused a
    regression for setting the GPIO output direction.
    
    The change reorganized twl_direction_out() and twl_set() and swapped
    the function names around in the process. While doing that, a bug got
    introduced that's not obvious while reading the patch as it appears
    as no change to the code.
    
    The bug is we now call function twl4030_set_gpio_dataout() twice in
    both twl_direction_out() and twl_set(). Instead, we should first
    call twl_direction_out() in twl_direction_out() followed by
    twl4030_set_gpio_dataout() in twl_set().
    
    This regression probably has gone unnoticed for a long time as the
    bootloader may have set the GPIO direction properly in many cases.
    This fixes at least the LCD panel not turning on omap3 LDP for
    example.
    
    Cc: linux-gpio@vger.kernel.org
    Reviewed-by: Peter Ujfalusi <peter.ujfalusi@ti.com>
    Acked-by: Linus Walleij <linus.walleij@linaro.org>
    Signed-off-by: Tony Lindgren <tony@atomide.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit 9e2a3e7c5173f2c577f768304df7946de5ab79fc
Author: Johannes Berg <johannes.berg@intel.com>
Date:   Mon Oct 21 11:33:35 2013 +0200

    cfg80211: fix scheduled scan pointer access
    
    commit 79845c662eeb95c9a180b9bd0d3ad848ee65b94c upstream.
    
    Since rdev->sched_scan_req is dereferenced outside the
    lock protecting it, this might be done at the wrong
    time, causing crashes. Move the dereference to where
    it should be - inside the RTNL locked section.
    
    Reviewed-by: Emmanuel Grumbach <emmanuel.grumbach@intel.com>
    Signed-off-by: Johannes Berg <johannes.berg@intel.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit 722d63201bc55809c4975ea6900d62a732c47bd9
Author: Stephen Warren <swarren@wwwdotorg.org>
Date:   Mon Nov 25 20:35:42 2013 -0700

    ARM: bcm2835: add missing #xxx-cells to I2C nodes
    
    commit a31ab44ef5d07c6707df4a9ad2c8affd2d62ff4b upstream.
    
    The I2C controller node needs #address-cells and #size-cells properties,
    but these are currently missing. Add them. This allows child nodes to be
    parsed correctly.
    
    Signed-off-by: Stephen Warren <swarren@wwwdotorg.org>
    Signed-off-by: Olof Johansson <olof@lixom.net>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit 2b7b16ef5d13eacf514d1458b75a94880ad2a52f
Author: Doug Anderson <dianders@chromium.org>
Date:   Wed Oct 23 06:11:01 2013 -0700

    ARM: dts: Add max77686 RTC interrupt to cros5250-common
    
    commit c61248afa8190ae3f47ee67f46e3c9b584a73d31 upstream.
    
    Without the interrupt you'll get problems if you enable
    CONFIG_RTC_DRV_MAX77686.  Setup the interrupt properly in the device
    tree.
    
    Signed-off-by: Doug Anderson <dianders@chromium.org>
    Tested-by: Marc Zyngier <marc.zyngier@arm.com>
    Signed-off-by: Olof Johansson <olof@lixom.net>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit 9770b2810aafbb61bff57c39d3384448f0a7b01b
Author: Ionut Nicu <ioan.nicu.ext@nsn.com>
Date:   Fri Oct 11 14:17:10 2013 +0200

    i2c: mux: gpio: use gpio_set_value_cansleep()
    
    commit 250ad590d6f12d93f4d85be305b0a598d609232e upstream.
    
    Some gpio chips may have get/set operations that
    can sleep. gpio_set_value() only works for chips
    which do not sleep, for the others we will get a
    kernel warning. Using gpio_set_value_cansleep()
    will work for both chips that do sleep and those
    who don't.
    
    Signed-off-by: Ionut Nicu <ioan.nicu.ext@nsn.com>
    Acked-by: Peter Korsgaard <peter.korsgaard@barco.com>
    Signed-off-by: Wolfram Sang <wsa@the-dreams.de>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit 91831b48272d5cf2759d6d89a2f67cc7ebec72d0
Author: Ionut Nicu <ioan.nicu.ext@nsn.com>
Date:   Fri Oct 11 12:09:57 2013 +0200

    i2c: mux: gpio: use reg value for i2c_add_mux_adapter
    
    commit 8c0ec2500eeb89749341884a972860d7f9e56f9c upstream.
    
    The i2c-mux driver requires that the chan_id parameter
    passed to the i2c_add_mux_adapter() function is equal
    to the reg value for that adapter:
    
    for_each_child_of_node(mux_dev->of_node, child) {
    	ret = of_property_read_u32(child, "reg", &reg);
    	if (ret)
    		continue;
    	if (chan_id == reg) {
    		priv->adap.dev.of_node = child;
    		break;
    	}
    }
    
    The i2c-mux-gpio driver uses an internal logical index
    for chan_id when calling i2c_add_mux_adapter() instead
    of using the reg value.
    
    Because of this, there will problems in selecting the
    right adapter when the i2c-mux-gpio's index into
    mux->data.values doesn't match the reg value.
    
    An example of such a case:
    
    mux->data.values = { 1, 0 }
    
    For chan_id = 0, i2c-mux will bind the adapter to the
    of_node with reg = <0>, but when it will call the
    select() callback with chan_id set to 0, the i2c-mux-gpio
    will use it as an index into mux->data.values and it will
    actually select the bus with reg = <1>.
    
    Signed-off-by: Ionut Nicu <ioan.nicu.ext@nsn.com>
    Acked-by: Alexander Sverdlin <alexander.sverdlin@nsn.com>
    Signed-off-by: Wolfram Sang <wsa@the-dreams.de>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit 5b13b578a4a0e7dce4f20f3ab79a00c78623f47c
Author: Wei Yongjun <yongjun_wei@trendmicro.com.cn>
Date:   Mon Nov 11 22:23:50 2013 +0800

    i2c: wmt: add missing clk_disable_unprepare() on error
    
    commit 2dc9688a106886db7191d30f30ffd61fde827efd upstream.
    
    Add the missing clk_disable_unprepare() before return
    from wmt_i2c_reset_hardware() in the error handling case.
    
    Signed-off-by: Wei Yongjun <yongjun_wei@trendmicro.com.cn>
    Signed-off-by: Wolfram Sang <wsa@the-dreams.de>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit 9a81ddfc4c131cfcc3fc5a7517ea3b1eb38dd796
Author: Helge Deller <deller@gmx.de>
Date:   Mon Oct 14 21:04:13 2013 +0200

    parisc: break out SOCK_NONBLOCK define to own asm header file
    
    commit 38c7937379276a5ea8c54481205003af2f2b5694 upstream.
    
    Break SOCK_NONBLOCK out to its own asm-file as other arches do. This
    fixes build errors with auditd and probably other packages.
    
    Signed-off-by: Helge Deller <deller@gmx.de>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit 357d902dfb913a306d485c6433c950be28de8ec9
Author: Ilija Hadzic <ihadzic@research.bell-labs.com>
Date:   Tue Nov 12 15:11:45 2013 -0800

    devpts: plug the memory leak in kill_sb
    
    commit 66da0e1f9034140ae2f571ef96e254a25083906c upstream.
    
    When devpts is unmounted, there may be a no-longer-used IDR tree hanging
    off the superblock we are about to kill.  This needs to be cleaned up
    before destroying the SB.
    
    The leak is usually not a big deal because unmounting devpts is typically
    done when shutting down the whole machine.  However, shutting down an LXC
    container instead of a physical machine exposes the problem (the garbage
    is detectable with kmemleak).
    
    Signed-off-by: Ilija Hadzic <ihadzic@research.bell-labs.com>
    Cc: Sukadev Bhattiprolu <sukadev@linux.vnet.ibm.com>
    Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
    Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit cca80f85f314e83dabfa6da2a9209e0a8615dff2
Author: Jan Kara <jack@suse.cz>
Date:   Tue Nov 12 15:11:19 2013 -0800

    rbtree: fix rbtree_postorder_for_each_entry_safe() iterator
    
    commit 1310a5a99d900ee30b9f171146406bde0c6c2bd4 upstream.
    
    The iterator rbtree_postorder_for_each_entry_safe() relies on pointer
    underflow behavior when testing for loop termination.  In particular it
    expects that
    
      &rb_entry(NULL, type, field)->field
    
    is NULL.  But the result of this expression is not defined by a C standard
    and some gcc versions (e.g.  4.3.4) assume the above expression can never
    be equal to NULL.  The net result is an oops because the iteration is not
    properly terminated.
    
    Fix the problem by modifying the iterator to avoid pointer underflows.
    
    Signed-off-by: Jan Kara <jack@suse.cz>
    Signed-off-by: Cody P Schafer <cody@linux.vnet.ibm.com>
    Cc: Michel Lespinasse <walken@google.com>
    Cc: "David S. Miller" <davem@davemloft.net>
    Cc: Adrian Hunter <adrian.hunter@intel.com>
    Cc: Artem Bityutskiy <dedekind1@gmail.com>
    Cc: David Woodhouse <dwmw2@infradead.org>
    Cc: Jozsef Kadlecsik <kadlec@blackhole.kfki.hu>
    Cc: Pablo Neira Ayuso <pablo@netfilter.org>
    Cc: Patrick McHardy <kaber@trash.net>
    Cc: Paul Mundt <lethal@linux-sh.org>
    Cc: Theodore Ts'o <tytso@mit.edu>
    Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
    Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit 154e8594db590b8a39d18c3112e1cb217bbe4d10
Author: Nishanth Menon <nm@ti.com>
Date:   Fri Oct 11 05:04:12 2013 -0500

    regulator: ti-abb: Fix operator precedence typo
    
    commit 9a633a2bced158c57b73cf4d8e87be60473de1d2 upstream.
    
    commit 40b1936e (regulator: Introduce TI Adaptive Body Bias(ABB) on-chip
    LDO driver) missed a pair of brackets which cause the wrong vset data to be
    picked up from efuse, resulting in bad VBB voltage values.
    
    Signed-off-by: Nishanth Menon <nm@ti.com>
    Signed-off-by: Mark Brown <broonie@linaro.org>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit 54e044b5946e2e435740a5bdc6d0f17700a027cf
Author: Roel Kluin <roel.kluin@gmail.com>
Date:   Mon Oct 14 01:27:27 2013 +0200

    pinctrl: dove: unset twsi option3 for gconfig as well
    
    commit 6d0a4ed2b90a12e1403d3e7d9d8c2cc7fdc301b5 upstream.
    
    This fixes a typo which left twsi config3 option enabled.
    
    Signed-off-by: Roel Kluin <roel.kluin@gmail.com>
    Acked-by: Sebastian Hesselbarth <sebastian.hesselbarth@gmail.com>
    Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit a9a18cf66c99d3f797e8b89cff6d6240dc6fd97e
Author: KOSAKI Motohiro <kosaki.motohiro@jp.fujitsu.com>
Date:   Mon Oct 14 17:33:16 2013 -0400

    alarmtimer: return EINVAL instead of ENOTSUPP if rtcdev doesn't exist
    
    commit 98d6f4dd84a134d942827584a3c5f67ffd8ec35f upstream.
    
    Fedora Ruby maintainer reported latest Ruby doesn't work on Fedora Rawhide
    on ARM. (http://bugs.ruby-lang.org/issues/9008)
    
    Because of, commit 1c6b39ad3f (alarmtimers: Return -ENOTSUPP if no
    RTC device is present) intruduced to return ENOTSUPP when
    clock_get{time,res} can't find a RTC device. However this is incorrect.
    
    First, ENOTSUPP isn't exported to userland (ENOTSUP or EOPNOTSUP are the
    closest userland equivlents).
    
    Second, Posix and Linux man pages agree that clock_gettime and
    clock_getres should return EINVAL if clk_id argument is invalid.
    While the arugment that the clockid is valid, but just not supported
    on this hardware could be made, this is just a technicality that
    doesn't help userspace applicaitons, and only complicates error
    handling.
    
    Thus, this patch changes the code to use EINVAL.
    
    Cc: Thomas Gleixner <tglx@linutronix.de>
    Cc: Frederic Weisbecker <fweisbec@gmail.com>
    Reported-by: Vit Ondruch <v.ondruch@tiscali.cz>
    Signed-off-by: KOSAKI Motohiro <kosaki.motohiro@jp.fujitsu.com>
    [jstultz: Tweaks to commit message to include full rational]
    Signed-off-by: John Stultz <john.stultz@linaro.org>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit ca51a9cb5fbbec24c6fe15f4a5ff4a4c086bfcb1
Author: Don Zickus <dzickus@redhat.com>
Date:   Wed Nov 13 15:32:06 2013 -0300

    perf tools: Synthesize anon MMAP records again
    
    commit 9d4ecc8893832337daf241236841db966fa53489 upstream.
    
    When introducing the PERF_RECORD_MMAP2 in:
    
    5c5e854bc760 perf tools: Add attr->mmap2 support
    
    A check for the number of entries parsed by sscanf was introduced that
    assumed all of the 8 fields needed to be correctly parsed so that
    particular /proc/pid/maps line would be considered synthesizable.
    
    That broke anon records synthesizing, as it doesn't have the 'execname'
    field.
    
    Fix it by keeping the sscanf return check, changing it to not require
    that the 'execname' variable be parsed, so that the preexisting logic
    can kick in and set it to '//anon'.
    
    This should get things like JIT profiling working again.
    
    Signed-off-by: Don Zickus <dzickus@redhat.com>
    Cc: Bill Gray <bgray@redhat.com>
    Cc: Jiri Olsa <jolsa@redhat.com>
    Cc: Joe Mario <jmario@redhat.com>
    Cc: Richard Fowles <rfowles@redhat.com>
    Cc: Stephane Eranian <eranian@google.com>
    Link: http://lkml.kernel.org/n/tip-bo4akalno7579shpz29u867j@git.kernel.org
    [ commit log message is mine, dzickus reported the problem with a patch ]
    Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit d659ec28a6386ced8c3f4d074be0ce4d47e9fbc4
Author: Michael Hudson-Doyle <michael.hudson@linaro.org>
Date:   Thu Oct 31 16:47:45 2013 -0700

    perf tools: Remove cast of non-variadic function to variadic
    
    commit 53805eca3d89b095062c11a6798689bb0af09216 upstream.
    
    The 4fb71074a570 (perf ui/hist: Consolidate hpp helpers) cset introduced
    a cast of percent_color_snprintf to a function pointer type with
    varargs.  Change percent_color_snprintf to be variadic and remove the
    cast.
    
    The symptom of this was all percentages being reported as 0.00% in perf
    report --stdio output on the armhf arch.
    
    Signed-off-by: Michael Hudson-Doyle <michael.hudson@linaro.org>
    Acked-by: Namhyung Kim <namhyung@kernel.org>
    Acked-by: Will Deacon <will.deacon@arm.com>
    Cc: Jean Pihet <jean.pihet@linaro.org>
    Cc: Jiri Olsa <jolsa@redhat.com>
    Cc: Will Deacon <will.deacon@arm.com>
    Link: http://lkml.kernel.org/r/87zjppvw7y.fsf@canonical.com
    Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit 74c30973e25e48bccb6b9c9a5e75d289e83e5f2a
Author: Thomas Pfaff <tpfaff@pcs.com>
Date:   Fri Oct 11 13:00:40 2013 +0200

    genirq: Set the irq thread policy without checking CAP_SYS_NICE
    
    commit bbfe65c219c638e19f1da5adab1005b2d68ca810 upstream.
    
    In commit ee23871389 ("genirq: Set irq thread to RT priority on
    creation") we moved the assigment of the thread's priority from the
    thread's function into __setup_irq(). That function may run in user
    context for instance if the user opens an UART node and then driver
    calls requests in the ->open() callback. That user may not have
    CAP_SYS_NICE and so the irq thread won't run with the SCHED_OTHER
    policy.
    
    This patch uses sched_setscheduler_nocheck() so we omit the CAP_SYS_NICE
    check which is otherwise required for the SCHED_OTHER policy.
    
    [bigeasy: Rewrite the changelog]
    
    Signed-off-by: Thomas Pfaff <tpfaff@pcs.com>
    Cc: Ivo Sieben <meltedpianoman@gmail.com>
    Link: http://lkml.kernel.org/r/1381489240-29626-1-git-send-email-bigeasy@linutronix.de
    Signed-off-by: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
    Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit da007325dea72ba19e7567cbd14e45ff68f1fbef
Author: Charles Keepax <ckeepax@opensource.wolfsonmicro.com>
Date:   Tue Nov 19 10:51:29 2013 +0000

    ASoC: wm5110: Add post SYSCLK register patch for rev D chip
    
    commit f69f86b1ba6493126a7f093a65a8952bcb183de2 upstream.
    
    Certain registers require patching after the SYSCLK has been brought up
    add support for this into the CODEC driver.
    
    Signed-off-by: Charles Keepax <ckeepax@opensource.wolfsonmicro.com>
    Signed-off-by: Mark Brown <broonie@linaro.org>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit 371739bee0eed4c051789a586bf1f8ab209396e2
Author: Richard Fitzgerald <rf@opensource.wolfsonmicro.com>
Date:   Wed Nov 20 14:37:09 2013 +0000

    ASoC: arizona: Set FLL to free-run before disabling
    
    commit 3e68ce1bc72e5d6615677ec5a8b0a9bcb6c7a490 upstream.
    
    The FLL must be placed into free-run mode before disabling
    to allow it to entirely shut down.
    
    Signed-off-by: Richard Fitzgerald <rf@opensource.wolfsonmicro.com>
    Signed-off-by: Mark Brown <broonie@linaro.org>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit 71a38d2f330fb7de147a0db5be9775cd8af779a8
Author: Oskar Schirmer <oskar@scara.com>
Date:   Tue Nov 12 15:46:38 2013 +0000

    ASoC: fsl: imx-pcm-fiq: omit fiq counter to avoid harm in unbalanced situations
    
    commit fc7dc61d9a87011aaf8a6eb3144ebf9552adf5d2 upstream.
    
    Unbalanced calls to snd_imx_pcm_trigger() may result in endless
    FIQ activity and thus provoke eternal sound. While on the first glance,
    the switch statement looks pretty symmetric, the SUSPEND/RESUME
    pair is not: the suspend case comes along snd_pcm_suspend_all(),
    which for fsl/imx-pcm-fiq is called only at snd_soc_suspend(),
    but the resume case originates straight from the SNDRV_PCM_IOCTL_RESUME.
    This way userland may provoke an unbalanced resume, which might cause
    the fiq_enable counter to increase and never return to zero again,
    so eventually imx_pcm_fiq is never disabled.
    
    Simply removing the fiq_enable will solve the problem, as long as
    one never goes play and capture game simultaneously, but beware
    trying both at once, the early TRIGGER_STOP will cut off the other
    activity prematurely. So now playing and capturing is scrutinized
    separately, instead of by counting.
    
    Signed-off-by: Oskar Schirmer <oskar@scara.com>
    Signed-off-by: Mark Brown <broonie@linaro.org>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit cc2785e735bba4783740eaf99a1d86c24135e870
Author: Takashi Iwai <tiwai@suse.de>
Date:   Wed Nov 13 17:15:00 2013 +0100

    ASoC: blackfin: Fix missing break
    
    commit afed4dbe3a043dbd833a53b6b4951e155708afd2 upstream.
    
    Fixes: 4b2ffc205cb9 ('ASoC: Blackfin I2S: add 8-bit sample support')
    Reported-by: David Binderman
    Signed-off-by: Takashi Iwai <tiwai@suse.de>
    Signed-off-by: Mark Brown <broonie@linaro.org>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit 0c55535dd030aa3ad980e7994b857b22e14d8352
Author: Nicolin Chen <b42378@freescale.com>
Date:   Thu Nov 14 11:59:21 2013 +0800

    ASoC: wm8962: Turn on regcache_cache_only before disabling regulator
    
    commit 50bfcf2df2fadf77e143d6099150e6fa7ef4d78c upstream.
    
    It's safer to turn on regcache_cache_only before disabling regulator since
    the driver will turn off the regcache_cache_only after enabling regulator.
    
    If we remain cache_only false, some command like 'amixer cset' would get
    failure if being run before wm8962_resume().
    
    Signed-off-by: Nicolin Chen <b42378@freescale.com>
    Signed-off-by: Mark Brown <broonie@linaro.org>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit 90a465ac6f733c983f795194bcf254db80e05e06
Author: Brian Austin <brian.austin@cirrus.com>
Date:   Thu Nov 14 11:46:12 2013 -0600

    ASoC: cs42l52: Correct MIC CTL mask
    
    commit 3d800c6d75b8c92fa928a0bcaf95cd7ac5fd1ce5 upstream.
    
    The mask for CS42L52_MIC_CTL_TYPE_MASK was wrong keeping the mic config
    from being set correctly.
    
    Signed-off-by: Brian Austin <brian.austin@cirrus.com>
    Signed-off-by: Mark Brown <broonie@linaro.org>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit a64ff461c40633fd7ddef68aa3b4ca7ef1873d8f
Author: Phil Edworthy <phil.edworthy@renesas.com>
Date:   Thu Oct 31 23:06:17 2013 -0700

    ASoC: ak4642: prevent un-necessary changes to SG_SL1
    
    commit 7b5bfb82882b9b1c8423ce0ed6852ca3762d967a upstream.
    
    If you record the sound during playback,
    the playback sound becomes silent.
    Modify so that the codec driver does not clear
    SG_SL1::DACL bit which is controlled under widget
    
    Signed-off-by: Phil Edworthy <phil.edworthy@renesas.com>
    Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx@renesas.com>
    Signed-off-by: Mark Brown <broonie@linaro.org>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit 79b58c63bf721d301292f0cff4255e4c4d9887fe
Author: Nariman Poushin <nariman@opensource.wolfsonmicro.com>
Date:   Mon Nov 4 12:03:44 2013 +0000

    ASoC: wm_adsp: Interpret ADSP memory region lengths as 32 bit words
    
    commit c01422a4a184a183b03fb3046af88d61828f6d56 upstream.
    
    Pad the ADSP word (3 bytes) to 4 bytes in the kernel and calculate
    lengths based on padded ADSP words instead of treating them as bytes
    
    Signed-off-by: Nariman Poushin <nariman@opensource.wolfsonmicro.com>
    Signed-off-by: Dimitris Papastamos <dp@opensource.wolfsonmicro.com>
    Signed-off-by: Mark Brown <broonie@linaro.org>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit 9753c75ab81ed8938f02b3da94562e45b45b9dae
Author: Johan Hovold <jhovold@gmail.com>
Date:   Tue Nov 12 15:09:38 2013 -0800

    backlight: atmel-pwm-bl: fix reported brightness
    
    commit 185d91442550110db67a7dc794a32efcea455a36 upstream.
    
    The driver supports 16-bit brightness values, but the value returned
    from get_brightness was truncated to eight bits.
    
    Signed-off-by: Johan Hovold <jhovold@gmail.com>
    Cc: Jingoo Han <jg1.han@samsung.com>
    Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
    Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit 745f3d7b0ffdac2a327555fad22c7f8161e0db5d
Author: Johan Hovold <jhovold@gmail.com>
Date:   Tue Nov 12 15:09:39 2013 -0800

    backlight: atmel-pwm-bl: fix gpio polarity in remove
    
    commit ad5066d4c2b1d696749f8d7816357c23b648c4d3 upstream.
    
    Make sure to honour gpio polarity also at remove so that the backlight is
    actually disabled on boards with active-low enable pin.
    
    Signed-off-by: Johan Hovold <jhovold@gmail.com>
    Acked-by: Jingoo Han <jg1.han@samsung.com>
    Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
    Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit 3abc0136db2c66b7606aebe2492efb6e09801c3d
Author: Larry Finger <Larry.Finger@lwfinger.net>
Date:   Sun Nov 17 13:32:15 2013 -0600

    staging: r8188eu: Fix AP mode
    
    commit 9ecfc0f45033584ec58617cf6ec37f75833d97e8 upstream.
    
    Two code lines were accidentally deleted.  Restore them.
    
    Signed-off-by: Larry Finger <Larry.Finger@lwfinger.net>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit ac842813d154695c1c644ff7ea4a53dafa70b6a3
Author: Malcolm Priestley <tvboxspy@gmail.com>
Date:   Thu Nov 7 21:49:04 2013 +0000

    staging: vt6656: [BUG] Fix for TX USB resets from vendors driver.
    
    commit 9df682927c2e3a92f43803d6b52095992e3b2ab8 upstream.
    
    This fixes resets on heavy TX data traffic.
    
    Vendor driver
    VT6656_Linux_src_v1.21.03_x86_11.04.zip
    http://www.viaembedded.com/servlet/downloadSvl?id=1890&download_file_id=14704
    This is GPL-licensed code.
    
    original code
    BBbVT3184Init
    ...
    //2007-0725, RobertChang add, Enable Squelch detect reset option(SQ_RST_Opt), USB (register4, bit1)
    CONTROLnsRequestIn(pDevice,
                                     MESSAGE_TYPE_READ,
                                     (WORD)0x600+4,     // USB's Reg4's bit1
                                     MESSAGE_REQUEST_MEM,
                                     1,
                                     (PBYTE) &byData);
    byData = byData|2 ;
    CONTROLnsRequestOut(pDevice,
                                  MESSAGE_TYPE_WRITE,
                                  (WORD)0x600+4,     // USB's Reg4's bit1
                                  MESSAGE_REQUEST_MEM,
                                  1,
                                  (PBYTE) &byData);
    
    return TRUE;//ntStatus;
    ....
    
    A back port patch is needed for kernels less than 3.10.
    
    Signed-off-by: Malcolm Priestley <tvboxspy@gmail.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit 9005babc7627671a63836176ab4c1503376ad2c8
Author: Rashika Kheria <rashika.kheria@gmail.com>
Date:   Sun Nov 10 22:13:53 2013 +0530

    Staging: zram: Fix memory leak by refcount mismatch
    
    commit 1b672224d128ec2570eb37572ff803cfe452b4f7 upstream.
    
    As suggested by Minchan Kim and Jerome Marchand "The code in reset_store
    get the block device (bdget_disk()) but it does not put it (bdput()) when
    it's done using it. The usage count is therefore incremented but never
    decremented."
    
    This patch also puts bdput() for all error cases.
    
    Acked-by: Minchan Kim <minchan@kernel.org>
    Acked-by: Jerome Marchand <jmarchan@redhat.com>
    Signed-off-by: Rashika Kheria <rashika.kheria@gmail.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit 40141c33b0615e8e60173608e49762ab4944c7ac
Author: Olav Haugan <ohaugan@codeaurora.org>
Date:   Fri Nov 22 09:30:41 2013 -0800

    staging: zsmalloc: Ensure handle is never 0 on success
    
    commit 67296874eb1cc80317bf2a8fba22b494e21eb29b upstream.
    
    zsmalloc encodes a handle using the pfn and an object
    index. On hardware platforms with physical memory starting
    at 0x0 the pfn can be 0. This causes the encoded handle to be
    0 and is incorrectly interpreted as an allocation failure.
    
    This issue affects all current and future SoCs with physical
    memory starting at 0x0. All MSM8974 SoCs which includes
    Google Nexus 5 devices are affected.
    
    To prevent this false error we ensure that the encoded handle
    will not be 0 when allocation succeeds.
    
    Signed-off-by: Olav Haugan <ohaugan@codeaurora.org>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit b8c60a6614e577e5525f6369885ab2350478ff5b
Author: Peng Tao <bergwolf@gmail.com>
Date:   Thu Nov 21 22:42:45 2013 +0800

    staging/lustre/ptlrpc: fix ptlrpc_stop_pinger logic
    
    commit b39f15c972c462903208531b82f9b34ba8ef3ec0 upstream.
    
    It was introduced due to a patch hunk when porting
    commit 20802057 (staging/lustre/ptlrpc: race in pinger).
    
    Cc: Andreas Dilger <andreas.dilger@intel.com>
    Signed-off-by: Peng Tao <bergwolf@gmail.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit de262dfd7b7e72a13e5b37268a460de379cccf24
Author: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Date:   Wed Nov 27 09:32:49 2013 -0800

    Staging: tidspbridge: disable driver
    
    commit 930ba4a374b96560ef9fde2145cdc454a164ddcc upstream.
    
    There seems to be no active maintainer for the driver, and there is an
    unfixed security bug, so disable the driver for now.
    
    Hopefully someone steps up to be the maintainer, and works to get this
    out of staging, otherwise it will be deleted soon.
    
    Reported-by: Nico Golde <nico@ngolde.de>
    Reported-by: Dan Carpenter <dan.carpenter@oracle.com>
    Cc: Omar Ramirez Luna <omar.ramirez@copitl.com>
    Cc: Omar Ramirez Luna <omar.ramirez@ti.com>
    Cc: Kanigeri, Hari <h-kanigeri2@ti.com>
    Cc: Ameya Palande <ameya.palande@nokia.com>
    Cc: Guzman Lugo, Fernando <fernando.lugo@ti.com>
    Cc: Hebbar, Shivananda <x0hebbar@ti.com>
    Cc: Ramos Falcon, Ernesto <ernesto@ti.com>
    Cc: Felipe Contreras <felipe.contreras@gmail.com>
    Cc: Anna, Suman <s-anna@ti.com>
    Cc: Gupta, Ramesh <grgupta@ti.com>
    Cc: Gomez Castellanos, Ivan <ivan.gomez@ti.com>
    Cc: Andy Shevchenko <ext-andriy.shevchenko@nokia.com>
    Cc: Armando Uribe De Leon <x0095078@ti.com>
    Cc: Deepak Chitriki <deepak.chitriki@ti.com>
    Cc: Menon, Nishanth <nm@ti.com>
    Cc: Phil Carmody <ext-phil.2.carmody@nokia.com>
    Cc: Ohad Ben-Cohen <ohad@wizery.com>
    Cc: stable <stable@vger.kernel.org>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit 4a3818b1c25c0f556350ef1ce9b40e05e252e583
Author: Jiada Wang <jiada_wang@mentor.com>
Date:   Wed Oct 30 04:25:51 2013 -0700

    ARM: i.MX6q: fix the wrong parent of can_root clock
    
    commit 9b3d423707c3b1f6633be1be7e959623e10c596b upstream.
    
    instead of pll3_usb_otg the parent of can_root clock
    should be pll3_60m.
    
    Signed-off-by: Jiada Wang <jiada_wang@mentor.com>
    Signed-off-by: Shawn Guo <shawn.guo@linaro.org>
    Cc: Marc Kleine-Budde <mkl@pengutronix.de>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit 3806c002aeb34ef30cab397381aa22ccc55d901a
Author: Johan Hovold <jhovold@gmail.com>
Date:   Wed Oct 16 11:56:15 2013 +0200

    ARM: at91: fix hanged boot due to early rtt-interrupt
    
    commit 94c4c79f2f1acca6e69a50bff5a7d9027509c16b upstream.
    
    Make sure the RTT-interrupts are masked at boot by adding a new helper
    function to be used at SOC-init.
    
    This fixes hanged boot on all AT91 SOCs with an RTT, for example, if an
    RTT-alarm goes off after a non-clean shutdown (e.g. when using RTC
    wakeup).
    
    The RTC and RTT-peripherals are powered by backup power (VDDBU) (on all
    AT91 SOCs but RM9200) and are not reset on wake-up, user, watchdog or
    software reset. This means that their interrupts may be enabled during
    early boot if, for example, they where not disabled during a previous
    shutdown (e.g. due to a buggy driver or a non-clean shutdown such as a
    user reset). Furthermore, an RTC or RTT-alarm may also be active.
    
    The RTC and RTT-interrupts use the shared system-interrupt line, which
    is also used by the PIT, and if an interrupt occurs before a handler
    (e.g. RTC-driver) has been installed this leads to the system interrupt
    being disabled and prevents the system from booting.
    
    Note that when boot hangs due to an early RTC or RTT-interrupt, the only
    way to get the system to start again is to remove the backup power (e.g.
    battery) or to disable the interrupt manually from the bootloader. In
    particular, a user reset is not sufficient.
    
    Signed-off-by: Johan Hovold <jhovold@gmail.com>
    Signed-off-by: Nicolas Ferre <nicolas.ferre@atmel.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit 2baa1e5d8b0bb09efe07b3c279ca012244452db3
Author: Johan Hovold <jhovold@gmail.com>
Date:   Wed Oct 16 11:56:14 2013 +0200

    ARM: at91: fix hanged boot due to early rtc-interrupt
    
    commit 6de714c21a8ea315fffba6a93bbe537f4c1bf4f0 upstream.
    
    Make sure the RTC-interrupts are masked at boot by adding a new helper
    function to be used at SOC-init.
    
    This fixes hanged boot on all AT91 SOCs with an RTC (but RM9200), for
    example, after a reset during an RTC-update or if an RTC-alarm goes off
    after shutdown (e.g. when using RTC wakeup).
    
    The RTC and RTT-peripherals are powered by backup power (VDDBU) (on all
    AT91 SOCs but RM9200) and are not reset on wake-up, user, watchdog or
    software reset. This means that their interrupts may be enabled during
    early boot if, for example, they where not disabled during a previous
    shutdown (e.g. due to a buggy driver or a non-clean shutdown such as a
    user reset). Furthermore, an RTC or RTT-alarm may also be active.
    
    The RTC and RTT-interrupts use the shared system-interrupt line, which
    is also used by the PIT, and if an interrupt occurs before a handler
    (e.g. RTC-driver) has been installed this leads to the system interrupt
    being disabled and prevents the system from booting.
    
    Note that when boot hangs due to an early RTC or RTT-interrupt, the only
    way to get the system to start again is to remove the backup power (e.g.
    battery) or to disable the interrupt manually from the bootloader. In
    particular, a user reset is not sufficient.
    
    Signed-off-by: Johan Hovold <jhovold@gmail.com>
    Signed-off-by: Nicolas Ferre <nicolas.ferre@atmel.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit 088eb794815f12fc674d57835b7203b14a1fb50a
Author: Nishanth Menon <nm@ti.com>
Date:   Thu Nov 14 11:05:16 2013 -0600

    ARM: OMAP2+: omap_device: maintain sane runtime pm status around suspend/resume
    
    commit 3522bf7bfa248b99eafa2f4872190699a808c7d9 upstream.
    
    OMAP device hooks around suspend|resume_noirq ensures that hwmod
    devices are forced to idle using omap_device_idle/enable as part of
    the last stage of suspend activity.
    
    For a device such as i2c who uses autosuspend, it is possible to enter
    the suspend path with dev->power.runtime_status = RPM_ACTIVE.
    
    As part of the suspend flow, the generic runtime logic would increment
    it's dev->power.disable_depth to 1. This should prevent further
    pm_runtime_get_sync from succeeding once the runtime_status has been
    set to RPM_SUSPENDED.
    
    Now, as part of the suspend_noirq handler in omap_device, we force the
    following: if the device status is !suspended, we force the device
    to idle using omap_device_idle (clocks are cut etc..). This ensures
    that from a hardware perspective, the device is "suspended". However,
    runtime_status is left to be active.
    
    *if* an operation is attempted after this point to
    pm_runtime_get_sync, runtime framework depends on runtime_status to
    indicate accurately the device status, and since it sees it to be
    ACTIVE, it assumes the module is functional and returns a non-error
    value. As a result the user will see pm_runtime_get succeed, however a
    register access will crash due to the lack of clocks.
    
    To prevent this from happening, we should ensure that runtime_status
    exactly indicates the device status. As a result of this change
    any further calls to pm_runtime_get* would return -EACCES (since
    disable_depth is 1). On resume, we restore the clocks and runtime
    status exactly as we suspended with. These operations are not expected
    to fail as we update the states after the core runtime framework has
    suspended itself and restore before the core runtime framework has
    resumed.
    
    Reported-by: J Keerthy <j-keerthy@ti.com>
    Signed-off-by: Nishanth Menon <nm@ti.com>
    Acked-by: Rajendra Nayak <rnayak@ti.com>
    Acked-by: Kevin Hilman <khilman@linaro.org>
    Reviewed-by: Felipe Balbi <balbi@ti.com>
    Signed-off-by: Tony Lindgren <tony@atomide.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit c376b30c87a6f2a9563534ea00496ce5b6b6ef45
Author: Jonathan Austin <jonathan.austin@arm.com>
Date:   Thu Aug 29 18:41:11 2013 +0100

    ARM: integrator_cp: Set LCD{0,1} enable lines when turning on CLCD
    
    commit 30aeadd44deea3f3b0df45b9a70ee0fd5f8d6dc2 upstream.
    
    This turns on the internal integrator LCD display(s). It seems that the code
    to do this got lost in refactoring of the CLCD driver.
    
    Signed-off-by: Jonathan Austin <jonathan.austin@arm.com>
    Acked-by: Linus Walleij <linus.walleij@linaro.org>
    Signed-off-by: Olof Johansson <olof@lixom.net>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit 6dccb3023ed7705e09c9af0c6eea02f9200e9880
Author: Marc Zyngier <Marc.Zyngier@arm.com>
Date:   Mon Nov 4 11:42:29 2013 +0100

    ARM: 7876/1: clear Thumb-2 IT state on exception handling
    
    commit e16b31bf47738f4498d7ce632e12d7d2a6a2492a upstream.
    
    The exception handling code fails to clear the IT state, potentially
    leading to incorrect execution of the fixup if the size of the IT
    block is more than one.
    
    Let fixup_exception do the IT sanitizing if a fixup has been found,
    and restore CPSR from the stack when returning from a data abort.
    
    Cc: Will Deacon <will.deacon@arm.com>
    Reviewed-by: Catalin Marinas <catalin.marinas@arm.com>
    Signed-off-by: Marc Zyngier <marc.zyngier@arm.com>
    Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit 037ac31712d2f12db2c9be74ab9aab857af5133a
Author: Russell King <rmk+kernel@arm.linux.org.uk>
Date:   Wed Oct 16 00:09:02 2013 +0100

    ARM: sa11x0/assabet: ensure CS2 is configured appropriately
    
    commit f3964fe1c9d9a887d65faf594669852e4dec46e0 upstream.
    
    The CS2 region contains the Assabet board configuration and status
    registers, which are 32-bit.  Unfortunately, some boot loaders do not
    configure this region correctly, leaving it setup as a 16-bit region.
    Fix this.
    
    Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit 177636e55f3e57fcbb49e7e44c29ddbcf69e656a
Author: Markus Pargmann <mpa@pengutronix.de>
Date:   Thu Oct 17 09:18:38 2013 +0200

    ARM: OMAP2+: irq, AM33XX add missing register check
    
    commit 0bebda684857f76548ea48c8886785198701d8d3 upstream.
    
    am33xx has a INTC_PENDING_IRQ3 register that is not checked for pending
    interrupts. This patch adds AM33XX to the ifdef of SOCs that have to
    check this register.
    
    Signed-off-by: Markus Pargmann <mpa@pengutronix.de>
    Signed-off-by: Tony Lindgren <tony@atomide.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit 5e4b3de253c94f6d2efda3274f5fe7bd4a0c0de9
Author: Helge Deller <deller@gmx.de>
Date:   Wed Nov 6 23:38:59 2013 +0100

    parisc: sticon - unbreak on 64bit kernel
    
    commit 0219132fe7c26574371232b50db085573f6fbd3f upstream.
    
    STI text console (sticon) was broken on 64bit machines with more than
    4GB RAM and this lead in some cases to a kernel crash.
    
    Since sticon uses the 32bit STI API it needs to keep pointers to memory
    below 4GB. But on a 64bit kernel some memory regions (e.g. the kernel
    stack) might be above 4GB which then may crash the kernel in the STI
    functions.
    
    Additionally sticon didn't selected the built-in framebuffer fonts by
    default. This is now fixed.
    
    On a side-note: Theoretically we could enhance the sticon driver to
    use the 64bit STI API. But - beside the fact that some machines don't
    provide a 64bit STI ROM - this would just add complexity.
    
    Signed-off-by: Helge Deller <deller@gmx.de>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>