<feed xmlns='http://www.w3.org/2005/Atom'>
<title>linux-stable.git/drivers/net, branch v3.1.7</title>
<subtitle>Linux kernel stable tree</subtitle>
<link rel='alternate' type='text/html' href='https://git.tavy.me/linux-stable.git/'/>
<entry>
<title>iwlagn: fix HW crypto for TX-only keys</title>
<updated>2011-12-09T16:55:49+00:00</updated>
<author>
<name>Johannes Berg</name>
<email>johannes.berg@intel.com</email>
</author>
<published>2011-12-02T16:19:17+00:00</published>
<link rel='alternate' type='text/html' href='https://git.tavy.me/linux-stable.git/commit/?id=5c30a5b33f77264cddcfb1a6659d3a9ac2661103'/>
<id>5c30a5b33f77264cddcfb1a6659d3a9ac2661103</id>
<content type='text'>
commit 274b89ca3b006926cb9b45d78ab5906f4c0fc0aa upstream.

Group keys in IBSS or AP mode are not programmed
into the device since we give the key to it with
every TX packet. However, we do need mac80211 to
create the MMIC &amp; PN in all cases. Move the code
around to set the key flags all the time. We set
them even when the key is removed again but that
is obviously harmless.

Reported-by: Reinette Chatre &lt;reinette.chatre@intel.com&gt;
Signed-off-by: Johannes Berg &lt;johannes.berg@intel.com&gt;
Signed-off-by: Wey-Yi Guy &lt;wey-yi.w.guy@intel.com&gt;
Signed-off-by: John W. Linville &lt;linville@tuxdriver.com&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@suse.de&gt;

</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
commit 274b89ca3b006926cb9b45d78ab5906f4c0fc0aa upstream.

Group keys in IBSS or AP mode are not programmed
into the device since we give the key to it with
every TX packet. However, we do need mac80211 to
create the MMIC &amp; PN in all cases. Move the code
around to set the key flags all the time. We set
them even when the key is removed again but that
is obviously harmless.

Reported-by: Reinette Chatre &lt;reinette.chatre@intel.com&gt;
Signed-off-by: Johannes Berg &lt;johannes.berg@intel.com&gt;
Signed-off-by: Wey-Yi Guy &lt;wey-yi.w.guy@intel.com&gt;
Signed-off-by: John W. Linville &lt;linville@tuxdriver.com&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@suse.de&gt;

</pre>
</div>
</content>
</entry>
<entry>
<title>iwlwifi: do not re-configure HT40 after associated</title>
<updated>2011-12-09T16:55:48+00:00</updated>
<author>
<name>Wey-Yi Guy</name>
<email>wey-yi.w.guy@intel.com</email>
</author>
<published>2011-12-02T16:19:18+00:00</published>
<link rel='alternate' type='text/html' href='https://git.tavy.me/linux-stable.git/commit/?id=43c308bd8d0a3e7d98c5abcd41a4a3fada3d198f'/>
<id>43c308bd8d0a3e7d98c5abcd41a4a3fada3d198f</id>
<content type='text'>
commit 34a5b4b6af104cf18eb50748509528b9bdbc4036 upstream.

The ht40 setting should not change after association unless channel switch

This fix a problem we are seeing which cause uCode assert because driver
sending invalid information and make uCode confuse

Here is the firmware assert message:
kernel: iwlagn 0000:03:00.0: Microcode SW error detected.  Restarting 0x82000000.
kernel: iwlagn 0000:03:00.0: Loaded firmware version: 17.168.5.3 build 42301
kernel: iwlagn 0000:03:00.0: Start IWL Error Log Dump:
kernel: iwlagn 0000:03:00.0: Status: 0x000512E4, count: 6
kernel: iwlagn 0000:03:00.0: 0x00002078 | ADVANCED_SYSASSERT
kernel: iwlagn 0000:03:00.0: 0x00009514 | uPc
kernel: iwlagn 0000:03:00.0: 0x00009496 | branchlink1
kernel: iwlagn 0000:03:00.0: 0x00009496 | branchlink2
kernel: iwlagn 0000:03:00.0: 0x0000D1F2 | interruptlink1
kernel: iwlagn 0000:03:00.0: 0x00000000 | interruptlink2
kernel: iwlagn 0000:03:00.0: 0x01008035 | data1
kernel: iwlagn 0000:03:00.0: 0x0000C90F | data2
kernel: iwlagn 0000:03:00.0: 0x000005A7 | line
kernel: iwlagn 0000:03:00.0: 0x5080B520 | beacon time
kernel: iwlagn 0000:03:00.0: 0xCC515AE0 | tsf low
kernel: iwlagn 0000:03:00.0: 0x00000003 | tsf hi
kernel: iwlagn 0000:03:00.0: 0x00000000 | time gp1
kernel: iwlagn 0000:03:00.0: 0x29703BF0 | time gp2
kernel: iwlagn 0000:03:00.0: 0x00000000 | time gp3
kernel: iwlagn 0000:03:00.0: 0x000111A8 | uCode version
kernel: iwlagn 0000:03:00.0: 0x000000B0 | hw version
kernel: iwlagn 0000:03:00.0: 0x00480303 | board version
kernel: iwlagn 0000:03:00.0: 0x09E8004E | hcmd
kernel: iwlagn 0000:03:00.0: CSR values:
kernel: iwlagn 0000:03:00.0: (2nd byte of CSR_INT_COALESCING is CSR_INT_PERIODIC_REG)
kernel: iwlagn 0000:03:00.0:        CSR_HW_IF_CONFIG_REG: 0X00480303
kernel: iwlagn 0000:03:00.0:          CSR_INT_COALESCING: 0X0000ff40
kernel: iwlagn 0000:03:00.0:                     CSR_INT: 0X00000000
kernel: iwlagn 0000:03:00.0:                CSR_INT_MASK: 0X00000000
kernel: iwlagn 0000:03:00.0:           CSR_FH_INT_STATUS: 0X00000000
kernel: iwlagn 0000:03:00.0:                 CSR_GPIO_IN: 0X00000030
kernel: iwlagn 0000:03:00.0:                   CSR_RESET: 0X00000000
kernel: iwlagn 0000:03:00.0:                CSR_GP_CNTRL: 0X080403c5
kernel: iwlagn 0000:03:00.0:                  CSR_HW_REV: 0X000000b0
kernel: iwlagn 0000:03:00.0:              CSR_EEPROM_REG: 0X07d60ffd
kernel: iwlagn 0000:03:00.0:               CSR_EEPROM_GP: 0X90000001
kernel: iwlagn 0000:03:00.0:              CSR_OTP_GP_REG: 0X00030001
kernel: iwlagn 0000:03:00.0:                 CSR_GIO_REG: 0X00080044
kernel: iwlagn 0000:03:00.0:            CSR_GP_UCODE_REG: 0X000093bb
kernel: iwlagn 0000:03:00.0:           CSR_GP_DRIVER_REG: 0X00000000
kernel: iwlagn 0000:03:00.0:           CSR_UCODE_DRV_GP1: 0X00000000
kernel: iwlagn 0000:03:00.0:           CSR_UCODE_DRV_GP2: 0X00000000
kernel: iwlagn 0000:03:00.0:                 CSR_LED_REG: 0X00000078
kernel: iwlagn 0000:03:00.0:        CSR_DRAM_INT_TBL_REG: 0X88214dd2
kernel: iwlagn 0000:03:00.0:        CSR_GIO_CHICKEN_BITS: 0X27800200
kernel: iwlagn 0000:03:00.0:             CSR_ANA_PLL_CFG: 0X00000000
kernel: iwlagn 0000:03:00.0:           CSR_HW_REV_WA_REG: 0X0001001a
kernel: iwlagn 0000:03:00.0:        CSR_DBG_HPET_MEM_REG: 0Xffff0010
kernel: iwlagn 0000:03:00.0: FH register values:
kernel: iwlagn 0000:03:00.0:         FH_RSCSR_CHNL0_STTS_WPTR_REG: 0X21316d00
kernel: iwlagn 0000:03:00.0:        FH_RSCSR_CHNL0_RBDCB_BASE_REG: 0X021479c0
kernel: iwlagn 0000:03:00.0:                  FH_RSCSR_CHNL0_WPTR: 0X00000060
kernel: iwlagn 0000:03:00.0:         FH_MEM_RCSR_CHNL0_CONFIG_REG: 0X80819104
kernel: iwlagn 0000:03:00.0:          FH_MEM_RSSR_SHARED_CTRL_REG: 0X000000fc
kernel: iwlagn 0000:03:00.0:            FH_MEM_RSSR_RX_STATUS_REG: 0X07030000
kernel: iwlagn 0000:03:00.0:    FH_MEM_RSSR_RX_ENABLE_ERR_IRQ2DRV: 0X00000000
kernel: iwlagn 0000:03:00.0:                FH_TSSR_TX_STATUS_REG: 0X07ff0001
kernel: iwlagn 0000:03:00.0:                 FH_TSSR_TX_ERROR_REG: 0X00000000
kernel: iwlagn 0000:03:00.0: Start IWL Event Log Dump: display last 20 entries
kernel: ------------[ cut here ]------------
WARNING: at net/mac80211/util.c:1208 ieee80211_reconfig+0x1f1/0x407()
kernel: Hardware name: 4290W4H
kernel: Pid: 1896, comm: kworker/0:0 Not tainted 3.1.0 #2
kernel: Call Trace:
kernel:  [&lt;ffffffff81036558&gt;] ? warn_slowpath_common+0x73/0x87
kernel:  [&lt;ffffffff813b8966&gt;] ? ieee80211_reconfig+0x1f1/0x407
kernel:  [&lt;ffffffff8139e8dc&gt;] ? ieee80211_recalc_smps_work+0x32/0x32
kernel:  [&lt;ffffffff8139e95a&gt;] ? ieee80211_restart_work+0x7e/0x87
kernel:  [&lt;ffffffff810472fa&gt;] ? process_one_work+0x1c8/0x2e3
kernel:  [&lt;ffffffff810480c9&gt;] ? worker_thread+0x17a/0x23a
kernel:  [&lt;ffffffff81047f4f&gt;] ? manage_workers.clone.18+0x15b/0x15b
kernel:  [&lt;ffffffff81047f4f&gt;] ? manage_workers.clone.18+0x15b/0x15b
kernel:  [&lt;ffffffff8104ba97&gt;] ? kthread+0x7a/0x82
kernel:  [&lt;ffffffff813d21b4&gt;] ? kernel_thread_helper+0x4/0x10
kernel:  [&lt;ffffffff8104ba1d&gt;] ? kthread_flush_work_fn+0x11/0x11
kernel:  [&lt;ffffffff813d21b0&gt;] ? gs_change+0xb/0xb

Reported-by: Udo Steinberg &lt;udo@hypervisor.org&gt;
Signed-off-by: Wey-Yi Guy &lt;wey-yi.w.guy@intel.com&gt;
Signed-off-by: John W. Linville &lt;linville@tuxdriver.com&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@suse.de&gt;

</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
commit 34a5b4b6af104cf18eb50748509528b9bdbc4036 upstream.

The ht40 setting should not change after association unless channel switch

This fix a problem we are seeing which cause uCode assert because driver
sending invalid information and make uCode confuse

Here is the firmware assert message:
kernel: iwlagn 0000:03:00.0: Microcode SW error detected.  Restarting 0x82000000.
kernel: iwlagn 0000:03:00.0: Loaded firmware version: 17.168.5.3 build 42301
kernel: iwlagn 0000:03:00.0: Start IWL Error Log Dump:
kernel: iwlagn 0000:03:00.0: Status: 0x000512E4, count: 6
kernel: iwlagn 0000:03:00.0: 0x00002078 | ADVANCED_SYSASSERT
kernel: iwlagn 0000:03:00.0: 0x00009514 | uPc
kernel: iwlagn 0000:03:00.0: 0x00009496 | branchlink1
kernel: iwlagn 0000:03:00.0: 0x00009496 | branchlink2
kernel: iwlagn 0000:03:00.0: 0x0000D1F2 | interruptlink1
kernel: iwlagn 0000:03:00.0: 0x00000000 | interruptlink2
kernel: iwlagn 0000:03:00.0: 0x01008035 | data1
kernel: iwlagn 0000:03:00.0: 0x0000C90F | data2
kernel: iwlagn 0000:03:00.0: 0x000005A7 | line
kernel: iwlagn 0000:03:00.0: 0x5080B520 | beacon time
kernel: iwlagn 0000:03:00.0: 0xCC515AE0 | tsf low
kernel: iwlagn 0000:03:00.0: 0x00000003 | tsf hi
kernel: iwlagn 0000:03:00.0: 0x00000000 | time gp1
kernel: iwlagn 0000:03:00.0: 0x29703BF0 | time gp2
kernel: iwlagn 0000:03:00.0: 0x00000000 | time gp3
kernel: iwlagn 0000:03:00.0: 0x000111A8 | uCode version
kernel: iwlagn 0000:03:00.0: 0x000000B0 | hw version
kernel: iwlagn 0000:03:00.0: 0x00480303 | board version
kernel: iwlagn 0000:03:00.0: 0x09E8004E | hcmd
kernel: iwlagn 0000:03:00.0: CSR values:
kernel: iwlagn 0000:03:00.0: (2nd byte of CSR_INT_COALESCING is CSR_INT_PERIODIC_REG)
kernel: iwlagn 0000:03:00.0:        CSR_HW_IF_CONFIG_REG: 0X00480303
kernel: iwlagn 0000:03:00.0:          CSR_INT_COALESCING: 0X0000ff40
kernel: iwlagn 0000:03:00.0:                     CSR_INT: 0X00000000
kernel: iwlagn 0000:03:00.0:                CSR_INT_MASK: 0X00000000
kernel: iwlagn 0000:03:00.0:           CSR_FH_INT_STATUS: 0X00000000
kernel: iwlagn 0000:03:00.0:                 CSR_GPIO_IN: 0X00000030
kernel: iwlagn 0000:03:00.0:                   CSR_RESET: 0X00000000
kernel: iwlagn 0000:03:00.0:                CSR_GP_CNTRL: 0X080403c5
kernel: iwlagn 0000:03:00.0:                  CSR_HW_REV: 0X000000b0
kernel: iwlagn 0000:03:00.0:              CSR_EEPROM_REG: 0X07d60ffd
kernel: iwlagn 0000:03:00.0:               CSR_EEPROM_GP: 0X90000001
kernel: iwlagn 0000:03:00.0:              CSR_OTP_GP_REG: 0X00030001
kernel: iwlagn 0000:03:00.0:                 CSR_GIO_REG: 0X00080044
kernel: iwlagn 0000:03:00.0:            CSR_GP_UCODE_REG: 0X000093bb
kernel: iwlagn 0000:03:00.0:           CSR_GP_DRIVER_REG: 0X00000000
kernel: iwlagn 0000:03:00.0:           CSR_UCODE_DRV_GP1: 0X00000000
kernel: iwlagn 0000:03:00.0:           CSR_UCODE_DRV_GP2: 0X00000000
kernel: iwlagn 0000:03:00.0:                 CSR_LED_REG: 0X00000078
kernel: iwlagn 0000:03:00.0:        CSR_DRAM_INT_TBL_REG: 0X88214dd2
kernel: iwlagn 0000:03:00.0:        CSR_GIO_CHICKEN_BITS: 0X27800200
kernel: iwlagn 0000:03:00.0:             CSR_ANA_PLL_CFG: 0X00000000
kernel: iwlagn 0000:03:00.0:           CSR_HW_REV_WA_REG: 0X0001001a
kernel: iwlagn 0000:03:00.0:        CSR_DBG_HPET_MEM_REG: 0Xffff0010
kernel: iwlagn 0000:03:00.0: FH register values:
kernel: iwlagn 0000:03:00.0:         FH_RSCSR_CHNL0_STTS_WPTR_REG: 0X21316d00
kernel: iwlagn 0000:03:00.0:        FH_RSCSR_CHNL0_RBDCB_BASE_REG: 0X021479c0
kernel: iwlagn 0000:03:00.0:                  FH_RSCSR_CHNL0_WPTR: 0X00000060
kernel: iwlagn 0000:03:00.0:         FH_MEM_RCSR_CHNL0_CONFIG_REG: 0X80819104
kernel: iwlagn 0000:03:00.0:          FH_MEM_RSSR_SHARED_CTRL_REG: 0X000000fc
kernel: iwlagn 0000:03:00.0:            FH_MEM_RSSR_RX_STATUS_REG: 0X07030000
kernel: iwlagn 0000:03:00.0:    FH_MEM_RSSR_RX_ENABLE_ERR_IRQ2DRV: 0X00000000
kernel: iwlagn 0000:03:00.0:                FH_TSSR_TX_STATUS_REG: 0X07ff0001
kernel: iwlagn 0000:03:00.0:                 FH_TSSR_TX_ERROR_REG: 0X00000000
kernel: iwlagn 0000:03:00.0: Start IWL Event Log Dump: display last 20 entries
kernel: ------------[ cut here ]------------
WARNING: at net/mac80211/util.c:1208 ieee80211_reconfig+0x1f1/0x407()
kernel: Hardware name: 4290W4H
kernel: Pid: 1896, comm: kworker/0:0 Not tainted 3.1.0 #2
kernel: Call Trace:
kernel:  [&lt;ffffffff81036558&gt;] ? warn_slowpath_common+0x73/0x87
kernel:  [&lt;ffffffff813b8966&gt;] ? ieee80211_reconfig+0x1f1/0x407
kernel:  [&lt;ffffffff8139e8dc&gt;] ? ieee80211_recalc_smps_work+0x32/0x32
kernel:  [&lt;ffffffff8139e95a&gt;] ? ieee80211_restart_work+0x7e/0x87
kernel:  [&lt;ffffffff810472fa&gt;] ? process_one_work+0x1c8/0x2e3
kernel:  [&lt;ffffffff810480c9&gt;] ? worker_thread+0x17a/0x23a
kernel:  [&lt;ffffffff81047f4f&gt;] ? manage_workers.clone.18+0x15b/0x15b
kernel:  [&lt;ffffffff81047f4f&gt;] ? manage_workers.clone.18+0x15b/0x15b
kernel:  [&lt;ffffffff8104ba97&gt;] ? kthread+0x7a/0x82
kernel:  [&lt;ffffffff813d21b4&gt;] ? kernel_thread_helper+0x4/0x10
kernel:  [&lt;ffffffff8104ba1d&gt;] ? kthread_flush_work_fn+0x11/0x11
kernel:  [&lt;ffffffff813d21b0&gt;] ? gs_change+0xb/0xb

Reported-by: Udo Steinberg &lt;udo@hypervisor.org&gt;
Signed-off-by: Wey-Yi Guy &lt;wey-yi.w.guy@intel.com&gt;
Signed-off-by: John W. Linville &lt;linville@tuxdriver.com&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@suse.de&gt;

</pre>
</div>
</content>
</entry>
<entry>
<title>iwlwifi: allow pci_enable_msi fail</title>
<updated>2011-12-09T16:54:32+00:00</updated>
<author>
<name>Wey-Yi Guy</name>
<email>wey-yi.w.guy@intel.com</email>
</author>
<published>2011-10-28T00:19:39+00:00</published>
<link rel='alternate' type='text/html' href='https://git.tavy.me/linux-stable.git/commit/?id=d22ac9ac4c241c598fba39c0f9a7dea3163e1e44'/>
<id>d22ac9ac4c241c598fba39c0f9a7dea3163e1e44</id>
<content type='text'>
commit 8a39ef8ba0fa0410d71db8e981e887fe4fdeca88 upstream.

Continue the init process even fail to enable msi

out_iounmap is no longer used, remove it

Reported-by: werner &lt;w.landgraf@ru.ru&gt;
Tested-by: werner &lt;w.landgraf@ru.ru&gt;
Signed-off-by: Wey-Yi Guy &lt;wey-yi.w.guy@intel.com&gt;
Signed-off-by: John W. Linville &lt;linville@tuxdriver.com&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@suse.de&gt;

</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
commit 8a39ef8ba0fa0410d71db8e981e887fe4fdeca88 upstream.

Continue the init process even fail to enable msi

out_iounmap is no longer used, remove it

Reported-by: werner &lt;w.landgraf@ru.ru&gt;
Tested-by: werner &lt;w.landgraf@ru.ru&gt;
Signed-off-by: Wey-Yi Guy &lt;wey-yi.w.guy@intel.com&gt;
Signed-off-by: John W. Linville &lt;linville@tuxdriver.com&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@suse.de&gt;

</pre>
</div>
</content>
</entry>
<entry>
<title>rt2x00: Fix efuse EEPROM reading on PPC32.</title>
<updated>2011-12-09T16:54:27+00:00</updated>
<author>
<name>Gertjan van Wingerde</name>
<email>gwingerde@gmail.com</email>
</author>
<published>2011-11-16T22:16:15+00:00</published>
<link rel='alternate' type='text/html' href='https://git.tavy.me/linux-stable.git/commit/?id=7ca622f2e52f3161466ebe93e177fb64c6047dc9'/>
<id>7ca622f2e52f3161466ebe93e177fb64c6047dc9</id>
<content type='text'>
commit 68fa64ef606bcee688fce46d07aa68f175070156 upstream.

Fix __le32 to __le16 conversion of the first word of an 8-word block
of EEPROM read via the efuse method.

Reported-and-tested-by: Ingvar Hagelund &lt;ingvar@redpill-linpro.com&gt;
Signed-off-by: Gertjan van Wingerde &lt;gwingerde@gmail.com&gt;
Acked-by: Helmut Schaa &lt;helmut.schaa@googlemail.com&gt;
Acked-by: Ivo van Doorn &lt;IvDoorn@gmail.com&gt;
Signed-off-by: John W. Linville &lt;linville@tuxdriver.com&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@suse.de&gt;

</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
commit 68fa64ef606bcee688fce46d07aa68f175070156 upstream.

Fix __le32 to __le16 conversion of the first word of an 8-word block
of EEPROM read via the efuse method.

Reported-and-tested-by: Ingvar Hagelund &lt;ingvar@redpill-linpro.com&gt;
Signed-off-by: Gertjan van Wingerde &lt;gwingerde@gmail.com&gt;
Acked-by: Helmut Schaa &lt;helmut.schaa@googlemail.com&gt;
Acked-by: Ivo van Doorn &lt;IvDoorn@gmail.com&gt;
Signed-off-by: John W. Linville &lt;linville@tuxdriver.com&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@suse.de&gt;

</pre>
</div>
</content>
</entry>
<entry>
<title>p54spi: Fix workqueue deadlock</title>
<updated>2011-12-09T16:54:26+00:00</updated>
<author>
<name>Michael Büsch</name>
<email>m@bues.ch</email>
</author>
<published>2011-11-16T22:55:46+00:00</published>
<link rel='alternate' type='text/html' href='https://git.tavy.me/linux-stable.git/commit/?id=160b68b38d29c8ab41eeb8187b2d724bf69c6756'/>
<id>160b68b38d29c8ab41eeb8187b2d724bf69c6756</id>
<content type='text'>
commit 2d1618170eb493d18f66f2ac03775409a6fb97c6 upstream.

priv-&gt;work must not be synced while priv-&gt;mutex is locked, because
the mutex is taken in the work handler.
Move cancel_work_sync down to after the device shutdown code.
This is safe, because the work handler checks fw_state and bails out
early in case of a race.

Signed-off-by: Michael Buesch &lt;m@bues.ch&gt;
Acked-by: Christian Lamparter &lt;chunkeey@googlemail.com&gt;
Signed-off-by: John W. Linville &lt;linville@tuxdriver.com&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@suse.de&gt;

</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
commit 2d1618170eb493d18f66f2ac03775409a6fb97c6 upstream.

priv-&gt;work must not be synced while priv-&gt;mutex is locked, because
the mutex is taken in the work handler.
Move cancel_work_sync down to after the device shutdown code.
This is safe, because the work handler checks fw_state and bails out
early in case of a race.

Signed-off-by: Michael Buesch &lt;m@bues.ch&gt;
Acked-by: Christian Lamparter &lt;chunkeey@googlemail.com&gt;
Signed-off-by: John W. Linville &lt;linville@tuxdriver.com&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@suse.de&gt;

</pre>
</div>
</content>
</entry>
<entry>
<title>p54spi: Add missing spin_lock_init</title>
<updated>2011-12-09T16:54:25+00:00</updated>
<author>
<name>Michael Büsch</name>
<email>m@bues.ch</email>
</author>
<published>2011-11-16T22:48:31+00:00</published>
<link rel='alternate' type='text/html' href='https://git.tavy.me/linux-stable.git/commit/?id=3dcc2d249f99606863f00635e2becf95a389dc9c'/>
<id>3dcc2d249f99606863f00635e2becf95a389dc9c</id>
<content type='text'>
commit 32d3a3922d617a5a685a5e2d24b20d0e88f192a9 upstream.

The tx_lock is not initialized properly. Add spin_lock_init().

Signed-off-by: Michael Buesch &lt;m@bues.ch&gt;
Acked-by: Christian Lamparter &lt;chunkeey@googlemail.com&gt;
Signed-off-by: John W. Linville &lt;linville@tuxdriver.com&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@suse.de&gt;

</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
commit 32d3a3922d617a5a685a5e2d24b20d0e88f192a9 upstream.

The tx_lock is not initialized properly. Add spin_lock_init().

Signed-off-by: Michael Buesch &lt;m@bues.ch&gt;
Acked-by: Christian Lamparter &lt;chunkeey@googlemail.com&gt;
Signed-off-by: John W. Linville &lt;linville@tuxdriver.com&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@suse.de&gt;

</pre>
</div>
</content>
</entry>
<entry>
<title>rtlwifi: fix lps_lock deadlock</title>
<updated>2011-12-09T16:54:19+00:00</updated>
<author>
<name>Stanislaw Gruszka</name>
<email>sgruszka@redhat.com</email>
</author>
<published>2011-11-28T09:33:40+00:00</published>
<link rel='alternate' type='text/html' href='https://git.tavy.me/linux-stable.git/commit/?id=79f1685c82d882192b1e22b3114be78159c54b86'/>
<id>79f1685c82d882192b1e22b3114be78159c54b86</id>
<content type='text'>
commit e55b32c110b025ce07b40227f620e99700bf8741 upstream.

rtl_lps_leave can be called from interrupt context, so we have to
disable interrupts when taking lps_lock.

Below is full lockdep info about deadlock:

[   93.815269] =================================
[   93.815390] [ INFO: inconsistent lock state ]
[   93.815472] 2.6.41.1-3.offch.fc15.x86_64.debug #1
[   93.815556] ---------------------------------
[   93.815635] inconsistent {SOFTIRQ-ON-W} -&gt; {IN-SOFTIRQ-W} usage.
[   93.815743] swapper/0 [HC0[0]:SC1[1]:HE1:SE0] takes:
[   93.815832]  (&amp;(&amp;rtlpriv-&gt;locks.lps_lock)-&gt;rlock){+.?...}, at: [&lt;ffffffffa025dad6&gt;] rtl_lps_leave+0x26/0x103 [rtlwifi]
[   93.815947] {SOFTIRQ-ON-W} state was registered at:
[   93.815947]   [&lt;ffffffff8108e10d&gt;] __lock_acquire+0x369/0xd0c
[   93.815947]   [&lt;ffffffff8108efb3&gt;] lock_acquire+0xf3/0x13e
[   93.815947]   [&lt;ffffffff814e981d&gt;] _raw_spin_lock+0x45/0x79
[   93.815947]   [&lt;ffffffffa025de34&gt;] rtl_swlps_rf_awake+0x5a/0x76 [rtlwifi]
[   93.815947]   [&lt;ffffffffa025aec0&gt;] rtl_op_config+0x12a/0x32a [rtlwifi]
[   93.815947]   [&lt;ffffffffa01d614b&gt;] ieee80211_hw_config+0x124/0x129 [mac80211]
[   93.815947]   [&lt;ffffffffa01e0af3&gt;] ieee80211_dynamic_ps_disable_work+0x32/0x47 [mac80211]
[   93.815947]   [&lt;ffffffff81075aa5&gt;] process_one_work+0x205/0x3e7
[   93.815947]   [&lt;ffffffff81076753&gt;] worker_thread+0xda/0x15d
[   93.815947]   [&lt;ffffffff8107a119&gt;] kthread+0xa8/0xb0
[   93.815947]   [&lt;ffffffff814f3184&gt;] kernel_thread_helper+0x4/0x10
[   93.815947] irq event stamp: 547822
[   93.815947] hardirqs last  enabled at (547822): [&lt;ffffffff814ea1a7&gt;] _raw_spin_unlock_irqrestore+0x45/0x61
[   93.815947] hardirqs last disabled at (547821): [&lt;ffffffff814e9987&gt;] _raw_spin_lock_irqsave+0x22/0x8e
[   93.815947] softirqs last  enabled at (547790): [&lt;ffffffff810623ed&gt;] _local_bh_enable+0x13/0x15
[   93.815947] softirqs last disabled at (547791): [&lt;ffffffff814f327c&gt;] call_softirq+0x1c/0x30
[   93.815947]
[   93.815947] other info that might help us debug this:
[   93.815947]  Possible unsafe locking scenario:
[   93.815947]
[   93.815947]        CPU0
[   93.815947]        ----
[   93.815947]   lock(&amp;(&amp;rtlpriv-&gt;locks.lps_lock)-&gt;rlock);
[   93.815947]   &lt;Interrupt&gt;
[   93.815947]     lock(&amp;(&amp;rtlpriv-&gt;locks.lps_lock)-&gt;rlock);
[   93.815947]
[   93.815947]  *** DEADLOCK ***
[   93.815947]
[   93.815947] no locks held by swapper/0.
[   93.815947]
[   93.815947] stack backtrace:
[   93.815947] Pid: 0, comm: swapper Not tainted 2.6.41.1-3.offch.fc15.x86_64.debug #1
[   93.815947] Call Trace:
[   93.815947]  &lt;IRQ&gt;  [&lt;ffffffff814dfd00&gt;] print_usage_bug+0x1e7/0x1f8
[   93.815947]  [&lt;ffffffff8101a849&gt;] ? save_stack_trace+0x2c/0x49
[   93.815947]  [&lt;ffffffff8108d55c&gt;] ? print_irq_inversion_bug.part.18+0x1a0/0x1a0
[   93.815947]  [&lt;ffffffff8108dc8a&gt;] mark_lock+0x106/0x220
[   93.815947]  [&lt;ffffffff8108e099&gt;] __lock_acquire+0x2f5/0xd0c
[   93.815947]  [&lt;ffffffff810152af&gt;] ? native_sched_clock+0x34/0x36
[   93.830125]  [&lt;ffffffff810152ba&gt;] ? sched_clock+0x9/0xd
[   93.830125]  [&lt;ffffffff81080181&gt;] ? sched_clock_local+0x12/0x75
[   93.830125]  [&lt;ffffffffa025dad6&gt;] ? rtl_lps_leave+0x26/0x103 [rtlwifi]
[   93.830125]  [&lt;ffffffff8108efb3&gt;] lock_acquire+0xf3/0x13e
[   93.830125]  [&lt;ffffffffa025dad6&gt;] ? rtl_lps_leave+0x26/0x103 [rtlwifi]
[   93.830125]  [&lt;ffffffff814e981d&gt;] _raw_spin_lock+0x45/0x79
[   93.830125]  [&lt;ffffffffa025dad6&gt;] ? rtl_lps_leave+0x26/0x103 [rtlwifi]
[   93.830125]  [&lt;ffffffff81422467&gt;] ? skb_dequeue+0x62/0x6d
[   93.830125]  [&lt;ffffffffa025dad6&gt;] rtl_lps_leave+0x26/0x103 [rtlwifi]
[   93.830125]  [&lt;ffffffffa025f677&gt;] _rtl_pci_ips_leave_tasklet+0xe/0x10 [rtlwifi]
[   93.830125]  [&lt;ffffffff8106281f&gt;] tasklet_action+0x8d/0xee
[   93.830125]  [&lt;ffffffff810629ce&gt;] __do_softirq+0x112/0x25a
[   93.830125]  [&lt;ffffffff814f327c&gt;] call_softirq+0x1c/0x30
[   93.830125]  [&lt;ffffffff81010bf6&gt;] do_softirq+0x4b/0xa1
[   93.830125]  [&lt;ffffffff81062d7d&gt;] irq_exit+0x5d/0xcf
[   93.830125]  [&lt;ffffffff814f3b7e&gt;] do_IRQ+0x8e/0xa5
[   93.830125]  [&lt;ffffffff814ea533&gt;] common_interrupt+0x73/0x73
[   93.830125]  &lt;EOI&gt;  [&lt;ffffffff8108b825&gt;] ? trace_hardirqs_off+0xd/0xf
[   93.830125]  [&lt;ffffffff812bb6d5&gt;] ? intel_idle+0xe5/0x10c
[   93.830125]  [&lt;ffffffff812bb6d1&gt;] ? intel_idle+0xe1/0x10c
[   93.830125]  [&lt;ffffffff813f8d5e&gt;] cpuidle_idle_call+0x11c/0x1fe
[   93.830125]  [&lt;ffffffff8100e2ef&gt;] cpu_idle+0xab/0x101
[   93.830125]  [&lt;ffffffff814c6373&gt;] rest_init+0xd7/0xde
[   93.830125]  [&lt;ffffffff814c629c&gt;] ? csum_partial_copy_generic+0x16c/0x16c
[   93.830125]  [&lt;ffffffff81d4bbb0&gt;] start_kernel+0x3dd/0x3ea
[   93.830125]  [&lt;ffffffff81d4b2c4&gt;] x86_64_start_reservations+0xaf/0xb3
[   93.830125]  [&lt;ffffffff81d4b140&gt;] ? early_idt_handlers+0x140/0x140
[   93.830125]  [&lt;ffffffff81d4b3ca&gt;] x86_64_start_kernel+0x102/0x111

Resolves:
https://bugzilla.redhat.com/show_bug.cgi?id=755154

Reported-by: vjain02@students.poly.edu
Reported-and-tested-by: Oliver Paukstadt &lt;pstadt@sourcentral.org&gt;
Acked-by: Larry Finger &lt;Larry.Finger@lwfinger.net&gt;
Signed-off-by: Stanislaw Gruszka &lt;sgruszka@redhat.com&gt;
Signed-off-by: John W. Linville &lt;linville@tuxdriver.com&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@suse.de&gt;

</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
commit e55b32c110b025ce07b40227f620e99700bf8741 upstream.

rtl_lps_leave can be called from interrupt context, so we have to
disable interrupts when taking lps_lock.

Below is full lockdep info about deadlock:

[   93.815269] =================================
[   93.815390] [ INFO: inconsistent lock state ]
[   93.815472] 2.6.41.1-3.offch.fc15.x86_64.debug #1
[   93.815556] ---------------------------------
[   93.815635] inconsistent {SOFTIRQ-ON-W} -&gt; {IN-SOFTIRQ-W} usage.
[   93.815743] swapper/0 [HC0[0]:SC1[1]:HE1:SE0] takes:
[   93.815832]  (&amp;(&amp;rtlpriv-&gt;locks.lps_lock)-&gt;rlock){+.?...}, at: [&lt;ffffffffa025dad6&gt;] rtl_lps_leave+0x26/0x103 [rtlwifi]
[   93.815947] {SOFTIRQ-ON-W} state was registered at:
[   93.815947]   [&lt;ffffffff8108e10d&gt;] __lock_acquire+0x369/0xd0c
[   93.815947]   [&lt;ffffffff8108efb3&gt;] lock_acquire+0xf3/0x13e
[   93.815947]   [&lt;ffffffff814e981d&gt;] _raw_spin_lock+0x45/0x79
[   93.815947]   [&lt;ffffffffa025de34&gt;] rtl_swlps_rf_awake+0x5a/0x76 [rtlwifi]
[   93.815947]   [&lt;ffffffffa025aec0&gt;] rtl_op_config+0x12a/0x32a [rtlwifi]
[   93.815947]   [&lt;ffffffffa01d614b&gt;] ieee80211_hw_config+0x124/0x129 [mac80211]
[   93.815947]   [&lt;ffffffffa01e0af3&gt;] ieee80211_dynamic_ps_disable_work+0x32/0x47 [mac80211]
[   93.815947]   [&lt;ffffffff81075aa5&gt;] process_one_work+0x205/0x3e7
[   93.815947]   [&lt;ffffffff81076753&gt;] worker_thread+0xda/0x15d
[   93.815947]   [&lt;ffffffff8107a119&gt;] kthread+0xa8/0xb0
[   93.815947]   [&lt;ffffffff814f3184&gt;] kernel_thread_helper+0x4/0x10
[   93.815947] irq event stamp: 547822
[   93.815947] hardirqs last  enabled at (547822): [&lt;ffffffff814ea1a7&gt;] _raw_spin_unlock_irqrestore+0x45/0x61
[   93.815947] hardirqs last disabled at (547821): [&lt;ffffffff814e9987&gt;] _raw_spin_lock_irqsave+0x22/0x8e
[   93.815947] softirqs last  enabled at (547790): [&lt;ffffffff810623ed&gt;] _local_bh_enable+0x13/0x15
[   93.815947] softirqs last disabled at (547791): [&lt;ffffffff814f327c&gt;] call_softirq+0x1c/0x30
[   93.815947]
[   93.815947] other info that might help us debug this:
[   93.815947]  Possible unsafe locking scenario:
[   93.815947]
[   93.815947]        CPU0
[   93.815947]        ----
[   93.815947]   lock(&amp;(&amp;rtlpriv-&gt;locks.lps_lock)-&gt;rlock);
[   93.815947]   &lt;Interrupt&gt;
[   93.815947]     lock(&amp;(&amp;rtlpriv-&gt;locks.lps_lock)-&gt;rlock);
[   93.815947]
[   93.815947]  *** DEADLOCK ***
[   93.815947]
[   93.815947] no locks held by swapper/0.
[   93.815947]
[   93.815947] stack backtrace:
[   93.815947] Pid: 0, comm: swapper Not tainted 2.6.41.1-3.offch.fc15.x86_64.debug #1
[   93.815947] Call Trace:
[   93.815947]  &lt;IRQ&gt;  [&lt;ffffffff814dfd00&gt;] print_usage_bug+0x1e7/0x1f8
[   93.815947]  [&lt;ffffffff8101a849&gt;] ? save_stack_trace+0x2c/0x49
[   93.815947]  [&lt;ffffffff8108d55c&gt;] ? print_irq_inversion_bug.part.18+0x1a0/0x1a0
[   93.815947]  [&lt;ffffffff8108dc8a&gt;] mark_lock+0x106/0x220
[   93.815947]  [&lt;ffffffff8108e099&gt;] __lock_acquire+0x2f5/0xd0c
[   93.815947]  [&lt;ffffffff810152af&gt;] ? native_sched_clock+0x34/0x36
[   93.830125]  [&lt;ffffffff810152ba&gt;] ? sched_clock+0x9/0xd
[   93.830125]  [&lt;ffffffff81080181&gt;] ? sched_clock_local+0x12/0x75
[   93.830125]  [&lt;ffffffffa025dad6&gt;] ? rtl_lps_leave+0x26/0x103 [rtlwifi]
[   93.830125]  [&lt;ffffffff8108efb3&gt;] lock_acquire+0xf3/0x13e
[   93.830125]  [&lt;ffffffffa025dad6&gt;] ? rtl_lps_leave+0x26/0x103 [rtlwifi]
[   93.830125]  [&lt;ffffffff814e981d&gt;] _raw_spin_lock+0x45/0x79
[   93.830125]  [&lt;ffffffffa025dad6&gt;] ? rtl_lps_leave+0x26/0x103 [rtlwifi]
[   93.830125]  [&lt;ffffffff81422467&gt;] ? skb_dequeue+0x62/0x6d
[   93.830125]  [&lt;ffffffffa025dad6&gt;] rtl_lps_leave+0x26/0x103 [rtlwifi]
[   93.830125]  [&lt;ffffffffa025f677&gt;] _rtl_pci_ips_leave_tasklet+0xe/0x10 [rtlwifi]
[   93.830125]  [&lt;ffffffff8106281f&gt;] tasklet_action+0x8d/0xee
[   93.830125]  [&lt;ffffffff810629ce&gt;] __do_softirq+0x112/0x25a
[   93.830125]  [&lt;ffffffff814f327c&gt;] call_softirq+0x1c/0x30
[   93.830125]  [&lt;ffffffff81010bf6&gt;] do_softirq+0x4b/0xa1
[   93.830125]  [&lt;ffffffff81062d7d&gt;] irq_exit+0x5d/0xcf
[   93.830125]  [&lt;ffffffff814f3b7e&gt;] do_IRQ+0x8e/0xa5
[   93.830125]  [&lt;ffffffff814ea533&gt;] common_interrupt+0x73/0x73
[   93.830125]  &lt;EOI&gt;  [&lt;ffffffff8108b825&gt;] ? trace_hardirqs_off+0xd/0xf
[   93.830125]  [&lt;ffffffff812bb6d5&gt;] ? intel_idle+0xe5/0x10c
[   93.830125]  [&lt;ffffffff812bb6d1&gt;] ? intel_idle+0xe1/0x10c
[   93.830125]  [&lt;ffffffff813f8d5e&gt;] cpuidle_idle_call+0x11c/0x1fe
[   93.830125]  [&lt;ffffffff8100e2ef&gt;] cpu_idle+0xab/0x101
[   93.830125]  [&lt;ffffffff814c6373&gt;] rest_init+0xd7/0xde
[   93.830125]  [&lt;ffffffff814c629c&gt;] ? csum_partial_copy_generic+0x16c/0x16c
[   93.830125]  [&lt;ffffffff81d4bbb0&gt;] start_kernel+0x3dd/0x3ea
[   93.830125]  [&lt;ffffffff81d4b2c4&gt;] x86_64_start_reservations+0xaf/0xb3
[   93.830125]  [&lt;ffffffff81d4b140&gt;] ? early_idt_handlers+0x140/0x140
[   93.830125]  [&lt;ffffffff81d4b3ca&gt;] x86_64_start_kernel+0x102/0x111

Resolves:
https://bugzilla.redhat.com/show_bug.cgi?id=755154

Reported-by: vjain02@students.poly.edu
Reported-and-tested-by: Oliver Paukstadt &lt;pstadt@sourcentral.org&gt;
Acked-by: Larry Finger &lt;Larry.Finger@lwfinger.net&gt;
Signed-off-by: Stanislaw Gruszka &lt;sgruszka@redhat.com&gt;
Signed-off-by: John W. Linville &lt;linville@tuxdriver.com&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@suse.de&gt;

</pre>
</div>
</content>
</entry>
<entry>
<title>rt2x00: Fix sleep-while-atomic bug in powersaving code.</title>
<updated>2011-11-26T17:08:34+00:00</updated>
<author>
<name>Gertjan van Wingerde</name>
<email>gwingerde@gmail.com</email>
</author>
<published>2011-11-12T18:10:44+00:00</published>
<link rel='alternate' type='text/html' href='https://git.tavy.me/linux-stable.git/commit/?id=7aa8983f0b2c57c25de227909072fe4f8edaa9ad'/>
<id>7aa8983f0b2c57c25de227909072fe4f8edaa9ad</id>
<content type='text'>
commit ed66ba472a742cd8df37d7072804b2111cdb1014 upstream.

The generic powersaving code that determines after reception of a frame
whether the device should go back to sleep or whether is could stay
awake was calling rt2x00lib_config directly from RX tasklet context.
On a number of the devices this call can actually sleep, due to having
to confirm that the sleeping commands have been executed successfully.

Fix this by moving the call to rt2x00lib_config to a workqueue call.

This fixes bug https://bugzilla.redhat.com/show_bug.cgi?id=731672

Tested-by: Tomas Trnka &lt;tomastrnka@gmx.com&gt;
Signed-off-by: Gertjan van Wingerde &lt;gwingerde@gmail.com&gt;
Acked-by: Ivo van Doorn &lt;IvDoorn@gmail.com&gt;
Signed-off-by: John W. Linville &lt;linville@tuxdriver.com&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@suse.de&gt;

</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
commit ed66ba472a742cd8df37d7072804b2111cdb1014 upstream.

The generic powersaving code that determines after reception of a frame
whether the device should go back to sleep or whether is could stay
awake was calling rt2x00lib_config directly from RX tasklet context.
On a number of the devices this call can actually sleep, due to having
to confirm that the sleeping commands have been executed successfully.

Fix this by moving the call to rt2x00lib_config to a workqueue call.

This fixes bug https://bugzilla.redhat.com/show_bug.cgi?id=731672

Tested-by: Tomas Trnka &lt;tomastrnka@gmx.com&gt;
Signed-off-by: Gertjan van Wingerde &lt;gwingerde@gmail.com&gt;
Acked-by: Ivo van Doorn &lt;IvDoorn@gmail.com&gt;
Signed-off-by: John W. Linville &lt;linville@tuxdriver.com&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@suse.de&gt;

</pre>
</div>
</content>
</entry>
<entry>
<title>Net, libertas: Resolve memory leak in if_spi_host_to_card()</title>
<updated>2011-11-26T17:08:34+00:00</updated>
<author>
<name>Jesper Juhl</name>
<email>jj@chaosbits.net</email>
</author>
<published>2011-11-13T21:14:32+00:00</published>
<link rel='alternate' type='text/html' href='https://git.tavy.me/linux-stable.git/commit/?id=b426a8365ad707b0f700923a5c464c3b7fed234a'/>
<id>b426a8365ad707b0f700923a5c464c3b7fed234a</id>
<content type='text'>
commit fe09b32a4361bea44169b2063e8c867cabb6a8ba upstream.

If we hit the default case in the switch in if_spi_host_to_card() we'll leak
the memory we allocated for 'packet'. This patch resolves the leak by freeing
the allocated memory in that case.

Signed-off-by: Jesper Juhl &lt;jj@chaosbits.net&gt;
Acked-by: Dan Williams &lt;dcbw@redhat.com&gt;
Signed-off-by: John W. Linville &lt;linville@tuxdriver.com&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@suse.de&gt;

</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
commit fe09b32a4361bea44169b2063e8c867cabb6a8ba upstream.

If we hit the default case in the switch in if_spi_host_to_card() we'll leak
the memory we allocated for 'packet'. This patch resolves the leak by freeing
the allocated memory in that case.

Signed-off-by: Jesper Juhl &lt;jj@chaosbits.net&gt;
Acked-by: Dan Williams &lt;dcbw@redhat.com&gt;
Signed-off-by: John W. Linville &lt;linville@tuxdriver.com&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@suse.de&gt;

</pre>
</div>
</content>
</entry>
<entry>
<title>b43: refuse to load unsupported firmware</title>
<updated>2011-11-21T22:35:24+00:00</updated>
<author>
<name>Rafał Miłecki</name>
<email>zajec5@gmail.com</email>
</author>
<published>2011-11-08T16:15:03+00:00</published>
<link rel='alternate' type='text/html' href='https://git.tavy.me/linux-stable.git/commit/?id=261a21ff99fb3cef1958b30e4456866ec4427b5b'/>
<id>261a21ff99fb3cef1958b30e4456866ec4427b5b</id>
<content type='text'>
[This patch is supposed to be applied in 3.1 (and maybe older) branches only.]

New kernels support newer firmware that users may try to incorrectly use
with older kernels. Display error and explain the problem in such a case

Signed-off-by: Rafał Miłecki &lt;zajec5@gmail.com&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@suse.de&gt;

</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
[This patch is supposed to be applied in 3.1 (and maybe older) branches only.]

New kernels support newer firmware that users may try to incorrectly use
with older kernels. Display error and explain the problem in such a case

Signed-off-by: Rafał Miłecki &lt;zajec5@gmail.com&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@suse.de&gt;

</pre>
</div>
</content>
</entry>
</feed>
