]> git.ipfire.org Git - thirdparty/kernel/stable-queue.git/commitdiff
3.0-stable patches
authorGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Tue, 25 Sep 2012 22:18:40 +0000 (15:18 -0700)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Tue, 25 Sep 2012 22:18:40 +0000 (15:18 -0700)
added patches:
arm-7532-1-decompressor-reset-sctlr.tre-for-vmsa-armv7-cores.patch
arm-fix-bad-applied-patch-for-arch-arm-kconfig-of-stable-3.0.y-tree.patch
bluetooth-fix-not-removing-power_off-delayed-work.patch
hpwdt-fix-kdump-issue-in-hpwdt.patch
input-i8042-disable-mux-on-toshiba-c850d.patch
scsi-bnx2i-fixed-null-ptr-deference-for-1g-bnx2-linux-iscsi-offload.patch
scsi-hpsa-fix-handling-of-protocol-error.patch
scsi-mpt2sas-fix-for-issue-unable-to-boot-from-the-drive-connected-to-hba.patch
tracing-don-t-call-page_to_pfn-if-page-is-null.patch

queue-3.0/arm-7532-1-decompressor-reset-sctlr.tre-for-vmsa-armv7-cores.patch [new file with mode: 0644]
queue-3.0/arm-fix-bad-applied-patch-for-arch-arm-kconfig-of-stable-3.0.y-tree.patch [new file with mode: 0644]
queue-3.0/bluetooth-fix-not-removing-power_off-delayed-work.patch [new file with mode: 0644]
queue-3.0/hpwdt-fix-kdump-issue-in-hpwdt.patch [new file with mode: 0644]
queue-3.0/input-i8042-disable-mux-on-toshiba-c850d.patch [new file with mode: 0644]
queue-3.0/scsi-bnx2i-fixed-null-ptr-deference-for-1g-bnx2-linux-iscsi-offload.patch [new file with mode: 0644]
queue-3.0/scsi-hpsa-fix-handling-of-protocol-error.patch [new file with mode: 0644]
queue-3.0/scsi-mpt2sas-fix-for-issue-unable-to-boot-from-the-drive-connected-to-hba.patch [new file with mode: 0644]
queue-3.0/series
queue-3.0/tracing-don-t-call-page_to_pfn-if-page-is-null.patch [new file with mode: 0644]

diff --git a/queue-3.0/arm-7532-1-decompressor-reset-sctlr.tre-for-vmsa-armv7-cores.patch b/queue-3.0/arm-7532-1-decompressor-reset-sctlr.tre-for-vmsa-armv7-cores.patch
new file mode 100644 (file)
index 0000000..586ed12
--- /dev/null
@@ -0,0 +1,35 @@
+From e1e5b7e4251c7538ca08c2c5545b0c2fbd8a6635 Mon Sep 17 00:00:00 2001
+From: Matthew Leach <matthew.leach@arm.com>
+Date: Tue, 11 Sep 2012 17:56:57 +0100
+Subject: ARM: 7532/1: decompressor: reset SCTLR.TRE for VMSA ARMv7 cores
+
+From: Matthew Leach <matthew.leach@arm.com>
+
+commit e1e5b7e4251c7538ca08c2c5545b0c2fbd8a6635 upstream.
+
+This patch zeroes the SCTLR.TRE bit prior to setting the mapping as
+cacheable for ARMv7 cores in the decompressor, ensuring that the
+memory region attributes are obtained from the C and B bits, not from
+the page tables.
+
+Cc: Nicolas Pitre <nico@fluxnic.net>
+Reviewed-by: Will Deacon <will.deacon@arm.com>
+Signed-off-by: Matthew Leach <matthew.leach@arm.com>
+Signed-off-by: Will Deacon <will.deacon@arm.com>
+Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
+Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
+
+---
+ arch/arm/boot/compressed/head.S |    1 +
+ 1 file changed, 1 insertion(+)
+
+--- a/arch/arm/boot/compressed/head.S
++++ b/arch/arm/boot/compressed/head.S
+@@ -539,6 +539,7 @@ __armv7_mmu_cache_on:
+               mcrne   p15, 0, r0, c8, c7, 0   @ flush I,D TLBs
+ #endif
+               mrc     p15, 0, r0, c1, c0, 0   @ read control reg
++              bic     r0, r0, #1 << 28        @ clear SCTLR.TRE
+               orr     r0, r0, #0x5000         @ I-cache enable, RR cache replacement
+               orr     r0, r0, #0x003c         @ write buffer
+ #ifdef CONFIG_MMU
diff --git a/queue-3.0/arm-fix-bad-applied-patch-for-arch-arm-kconfig-of-stable-3.0.y-tree.patch b/queue-3.0/arm-fix-bad-applied-patch-for-arch-arm-kconfig-of-stable-3.0.y-tree.patch
new file mode 100644 (file)
index 0000000..60d74da
--- /dev/null
@@ -0,0 +1,92 @@
+From koba@kmckk.co.jp  Tue Sep 25 15:07:29 2012
+From: Tetsuyuki Kobayashi <koba@kmckk.co.jp>
+Date: Thu, 13 Sep 2012 13:29:30 +0900
+Subject: ARM: fix bad applied patch for arch/arm/Kconfig of stable 3.0.y tree.
+To: greg@kroah.com
+Cc: will.deacon@arm.com, arm@kernel.org, linux-arm-kernel@lists.infradead.org, linux-kernel@vger.kernel.org, Tetsuyuki Kobayashi <koba@kmckk.co.jp>
+Message-ID: <1347510570-9272-1-git-send-email-koba@kmckk.co.jp>
+
+From: Tetsuyuki Kobayashi <koba@kmckk.co.jp>
+
+No upstream commit as this is a merge error in the 3.0 tree.
+
+ARM_ERRATA_764369 and PL310_ERRATA_769419 do not appear in config menu in
+stable 3.0.y tree.
+This is because backported patch for arm/arm/Kconfig applied wrong place.
+This patch solves it.
+
+Signed-off-by: Tetsuyuki Kobayashi <koba@kmckk.co.jp>
+Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
+
+---
+ arch/arm/Kconfig |   52 ++++++++++++++++++++++++++--------------------------
+ 1 file changed, 26 insertions(+), 26 deletions(-)
+
+--- a/arch/arm/Kconfig
++++ b/arch/arm/Kconfig
+@@ -1234,6 +1234,32 @@ config ARM_ERRATA_754327
+         This workaround defines cpu_relax() as smp_mb(), preventing correctly
+         written polling loops from denying visibility of updates to memory.
++config ARM_ERRATA_764369
++      bool "ARM errata: Data cache line maintenance operation by MVA may not succeed"
++      depends on CPU_V7 && SMP
++      help
++        This option enables the workaround for erratum 764369
++        affecting Cortex-A9 MPCore with two or more processors (all
++        current revisions). Under certain timing circumstances, a data
++        cache line maintenance operation by MVA targeting an Inner
++        Shareable memory region may fail to proceed up to either the
++        Point of Coherency or to the Point of Unification of the
++        system. This workaround adds a DSB instruction before the
++        relevant cache maintenance functions and sets a specific bit
++        in the diagnostic control register of the SCU.
++
++config PL310_ERRATA_769419
++      bool "PL310 errata: no automatic Store Buffer drain"
++      depends on CACHE_L2X0
++      help
++        On revisions of the PL310 prior to r3p2, the Store Buffer does
++        not automatically drain. This can cause normal, non-cacheable
++        writes to be retained when the memory system is idle, leading
++        to suboptimal I/O performance for drivers using coherent DMA.
++        This option adds a write barrier to the cpu_idle loop so that,
++        on systems with an outer cache, the store buffer is drained
++        explicitly.
++
+ endmenu
+ source "arch/arm/common/Kconfig"
+@@ -1298,32 +1324,6 @@ source "drivers/pci/Kconfig"
+ source "drivers/pcmcia/Kconfig"
+-config ARM_ERRATA_764369
+-      bool "ARM errata: Data cache line maintenance operation by MVA may not succeed"
+-      depends on CPU_V7 && SMP
+-      help
+-        This option enables the workaround for erratum 764369
+-        affecting Cortex-A9 MPCore with two or more processors (all
+-        current revisions). Under certain timing circumstances, a data
+-        cache line maintenance operation by MVA targeting an Inner
+-        Shareable memory region may fail to proceed up to either the
+-        Point of Coherency or to the Point of Unification of the
+-        system. This workaround adds a DSB instruction before the
+-        relevant cache maintenance functions and sets a specific bit
+-        in the diagnostic control register of the SCU.
+-
+-config PL310_ERRATA_769419
+-      bool "PL310 errata: no automatic Store Buffer drain"
+-      depends on CACHE_L2X0
+-      help
+-        On revisions of the PL310 prior to r3p2, the Store Buffer does
+-        not automatically drain. This can cause normal, non-cacheable
+-        writes to be retained when the memory system is idle, leading
+-        to suboptimal I/O performance for drivers using coherent DMA.
+-        This option adds a write barrier to the cpu_idle loop so that,
+-        on systems with an outer cache, the store buffer is drained
+-        explicitly.
+-
+ endmenu
+ menu "Kernel Features"
diff --git a/queue-3.0/bluetooth-fix-not-removing-power_off-delayed-work.patch b/queue-3.0/bluetooth-fix-not-removing-power_off-delayed-work.patch
new file mode 100644 (file)
index 0000000..ef6b01c
--- /dev/null
@@ -0,0 +1,76 @@
+From 78c04c0bf52360dc2f7185e99c8e9aa05d73ae5a Mon Sep 17 00:00:00 2001
+From: Vinicius Costa Gomes <vinicius.gomes@openbossa.org>
+Date: Fri, 14 Sep 2012 16:34:46 -0300
+Subject: Bluetooth: Fix not removing power_off delayed work
+
+From: Vinicius Costa Gomes <vinicius.gomes@openbossa.org>
+
+commit 78c04c0bf52360dc2f7185e99c8e9aa05d73ae5a upstream.
+
+For example, when a usb reset is received (I could reproduce it
+running something very similar to this[1] in a loop) it could be
+that the device is unregistered while the power_off delayed work
+is still scheduled to run.
+
+Backtrace:
+
+WARNING: at lib/debugobjects.c:261 debug_print_object+0x7c/0x8d()
+Hardware name: To Be Filled By O.E.M.
+ODEBUG: free active (active state 0) object type: timer_list hint: delayed_work_timer_fn+0x0/0x26
+Modules linked in: nouveau mxm_wmi btusb wmi bluetooth ttm coretemp drm_kms_helper
+Pid: 2114, comm: usb-reset Not tainted 3.5.0bt-next #2
+Call Trace:
+ [<ffffffff8124cc00>] ? free_obj_work+0x57/0x91
+ [<ffffffff81058f88>] warn_slowpath_common+0x7e/0x97
+ [<ffffffff81059035>] warn_slowpath_fmt+0x41/0x43
+ [<ffffffff8124ccb6>] debug_print_object+0x7c/0x8d
+ [<ffffffff8106e3ec>] ? __queue_work+0x259/0x259
+ [<ffffffff8124d63e>] ? debug_check_no_obj_freed+0x6f/0x1b5
+ [<ffffffff8124d667>] debug_check_no_obj_freed+0x98/0x1b5
+ [<ffffffffa00aa031>] ? bt_host_release+0x10/0x1e [bluetooth]
+ [<ffffffff810fc035>] kfree+0x90/0xe6
+ [<ffffffffa00aa031>] bt_host_release+0x10/0x1e [bluetooth]
+ [<ffffffff812ec2f9>] device_release+0x4a/0x7e
+ [<ffffffff8123ef57>] kobject_release+0x11d/0x154
+ [<ffffffff8123ed98>] kobject_put+0x4a/0x4f
+ [<ffffffff812ec0d9>] put_device+0x12/0x14
+ [<ffffffffa009472b>] hci_free_dev+0x22/0x26 [bluetooth]
+ [<ffffffffa0280dd0>] btusb_disconnect+0x96/0x9f [btusb]
+ [<ffffffff813581b4>] usb_unbind_interface+0x57/0x106
+ [<ffffffff812ef988>] __device_release_driver+0x83/0xd6
+ [<ffffffff812ef9fb>] device_release_driver+0x20/0x2d
+ [<ffffffff813582a7>] usb_driver_release_interface+0x44/0x7b
+ [<ffffffff81358795>] usb_forced_unbind_intf+0x45/0x4e
+ [<ffffffff8134f959>] usb_reset_device+0xa6/0x12e
+ [<ffffffff8135df86>] usbdev_do_ioctl+0x319/0xe20
+ [<ffffffff81203244>] ? avc_has_perm_flags+0xc9/0x12e
+ [<ffffffff812031a0>] ? avc_has_perm_flags+0x25/0x12e
+ [<ffffffff81050101>] ? do_page_fault+0x31e/0x3a1
+ [<ffffffff8135eaa6>] usbdev_ioctl+0x9/0xd
+ [<ffffffff811126b1>] vfs_ioctl+0x21/0x34
+ [<ffffffff81112f7b>] do_vfs_ioctl+0x408/0x44b
+ [<ffffffff81208d45>] ? file_has_perm+0x76/0x81
+ [<ffffffff8111300f>] sys_ioctl+0x51/0x76
+ [<ffffffff8158db22>] system_call_fastpath+0x16/0x1b
+
+[1] http://cpansearch.perl.org/src/DPAVLIN/Biblio-RFID-0.03/examples/usbreset.c
+
+Signed-off-by: Vinicius Costa Gomes <vinicius.gomes@openbossa.org>
+Signed-off-by: Gustavo Padovan <gustavo.padovan@collabora.co.uk>
+Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
+
+---
+ net/bluetooth/hci_core.c |    2 ++
+ 1 file changed, 2 insertions(+)
+
+--- a/net/bluetooth/hci_core.c
++++ b/net/bluetooth/hci_core.c
+@@ -588,6 +588,8 @@ static int hci_dev_do_close(struct hci_d
+ {
+       BT_DBG("%s %p", hdev->name, hdev);
++      cancel_delayed_work(&hdev->power_off);
++
+       hci_req_cancel(hdev, ENODEV);
+       hci_req_lock(hdev);
diff --git a/queue-3.0/hpwdt-fix-kdump-issue-in-hpwdt.patch b/queue-3.0/hpwdt-fix-kdump-issue-in-hpwdt.patch
new file mode 100644 (file)
index 0000000..e6aac12
--- /dev/null
@@ -0,0 +1,37 @@
+From 308b135e4fcc00c80c07e0e04e7afa8edf78583c Mon Sep 17 00:00:00 2001
+From: Toshi Kani <toshi.kani@hp.com>
+Date: Mon, 27 Aug 2012 12:52:24 -0600
+Subject: hpwdt: Fix kdump issue in hpwdt
+
+From: Toshi Kani <toshi.kani@hp.com>
+
+commit 308b135e4fcc00c80c07e0e04e7afa8edf78583c upstream.
+
+kdump can be interrupted by watchdog timer when the timer is left
+activated on the crash kernel. Changed the hpwdt driver to disable
+watchdog timer at boot-time. This assures that watchdog timer is
+disabled until /dev/watchdog is opened, and prevents watchdog timer
+to be left running on the crash kernel.
+
+Signed-off-by: Toshi Kani <toshi.kani@hp.com>
+Tested-by: Lisa Mitchell <lisa.mitchell@hp.com>
+Signed-off-by: Thomas Mingarelli <Thomas.Mingarelli@hp.com>
+Signed-off-by: Wim Van Sebroeck <wim@iguana.be>
+Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
+
+---
+ drivers/watchdog/hpwdt.c |    3 +++
+ 1 file changed, 3 insertions(+)
+
+--- a/drivers/watchdog/hpwdt.c
++++ b/drivers/watchdog/hpwdt.c
+@@ -773,6 +773,9 @@ static int __devinit hpwdt_init_one(stru
+       hpwdt_timer_reg = pci_mem_addr + 0x70;
+       hpwdt_timer_con = pci_mem_addr + 0x72;
++      /* Make sure that timer is disabled until /dev/watchdog is opened */
++      hpwdt_stop();
++
+       /* Make sure that we have a valid soft_margin */
+       if (hpwdt_change_timer(soft_margin))
+               hpwdt_change_timer(DEFAULT_MARGIN);
diff --git a/queue-3.0/input-i8042-disable-mux-on-toshiba-c850d.patch b/queue-3.0/input-i8042-disable-mux-on-toshiba-c850d.patch
new file mode 100644 (file)
index 0000000..fcb0e2e
--- /dev/null
@@ -0,0 +1,35 @@
+From 8669cf6793bb38307a30fb6b9565ddc8840ebd3f Mon Sep 17 00:00:00 2001
+From: Anisse Astier <anisse@astier.eu>
+Date: Wed, 19 Sep 2012 11:10:48 -0700
+Subject: Input: i8042 - disable mux on Toshiba C850D
+
+From: Anisse Astier <anisse@astier.eu>
+
+commit 8669cf6793bb38307a30fb6b9565ddc8840ebd3f upstream.
+
+On Toshiba Satellite C850D, the touchpad and the keyboard might randomly
+not work at boot. Preventing MUX mode activation solves this issue.
+
+Signed-off-by: Anisse Astier <anisse@astier.eu>
+Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
+Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
+
+---
+ drivers/input/serio/i8042-x86ia64io.h |    6 ++++++
+ 1 file changed, 6 insertions(+)
+
+--- a/drivers/input/serio/i8042-x86ia64io.h
++++ b/drivers/input/serio/i8042-x86ia64io.h
+@@ -335,6 +335,12 @@ static const struct dmi_system_id __init
+       },
+       {
+               .matches = {
++                      DMI_MATCH(DMI_SYS_VENDOR, "TOSHIBA"),
++                      DMI_MATCH(DMI_PRODUCT_NAME, "SATELLITE C850D"),
++              },
++      },
++      {
++              .matches = {
+                       DMI_MATCH(DMI_SYS_VENDOR, "ALIENWARE"),
+                       DMI_MATCH(DMI_PRODUCT_NAME, "Sentia"),
+               },
diff --git a/queue-3.0/scsi-bnx2i-fixed-null-ptr-deference-for-1g-bnx2-linux-iscsi-offload.patch b/queue-3.0/scsi-bnx2i-fixed-null-ptr-deference-for-1g-bnx2-linux-iscsi-offload.patch
new file mode 100644 (file)
index 0000000..909dc0a
--- /dev/null
@@ -0,0 +1,75 @@
+From d6532207116307eb7ecbfa7b9e02c53230096a50 Mon Sep 17 00:00:00 2001
+From: Eddie Wai <eddie.wai@broadcom.com>
+Date: Tue, 21 Aug 2012 10:35:53 -0700
+Subject: SCSI: bnx2i: Fixed NULL ptr deference for 1G bnx2 Linux iSCSI offload
+
+From: Eddie Wai <eddie.wai@broadcom.com>
+
+commit d6532207116307eb7ecbfa7b9e02c53230096a50 upstream.
+
+This patch fixes the following kernel panic invoked by uninitialized fields
+in the chip initialization for the 1G bnx2 iSCSI offload.
+
+One of the bits in the chip initialization is being used by the latest
+firmware to control overflow packets.  When this control bit gets enabled
+erroneously, it would ultimately result in a bad packet placement which would
+cause the bnx2 driver to dereference a NULL ptr in the placement handler.
+
+This can happen under certain stress I/O environment under the Linux
+iSCSI offload operation.
+
+This change only affects Broadcom's 5709 chipset.
+
+Unable to handle kernel NULL pointer dereference at 0000000000000008 RIP:
+ [<ffffffff881f0e7d>] :bnx2:bnx2_poll_work+0xd0d/0x13c5
+Pid: 0, comm: swapper Tainted: G     ---- 2.6.18-333.el5debug #2
+RIP: 0010:[<ffffffff881f0e7d>]  [<ffffffff881f0e7d>] :bnx2:bnx2_poll_work+0xd0d/0x13c5
+RSP: 0018:ffff8101b575bd50  EFLAGS: 00010216
+RAX: 0000000000000005 RBX: ffff81007c5fb180 RCX: 0000000000000000
+RDX: 0000000000000ffc RSI: 00000000817e8000 RDI: 0000000000000220
+RBP: ffff81015bbd7ec0 R08: ffff8100817e9000 R09: 0000000000000000
+R10: ffff81007c5fb180 R11: 00000000000000c8 R12: 000000007a25a010
+R13: 0000000000000000 R14: 0000000000000005 R15: ffff810159f80558
+FS:  0000000000000000(0000) GS:ffff8101afebc240(0000) knlGS:0000000000000000
+CS:  0010 DS: 0018 ES: 0018 CR0: 000000008005003b
+CR2: 0000000000000008 CR3: 0000000000201000 CR4: 00000000000006a0
+Process swapper (pid: 0, threadinfo ffff8101b5754000, task ffff8101afebd820)
+Stack:  000000000000000b ffff810159f80000 0000000000000040 ffff810159f80520
+ ffff810159f80500 00cf00cf8008e84b ffffc200100939e0 ffff810009035b20
+ 0000502900000000 000000be00000001 ffff8100817e7810 00d08101b575bea8
+Call Trace:
+ <IRQ>  [<ffffffff8008e0d0>] show_schedstat+0x1c2/0x25b
+ [<ffffffff881f1886>] :bnx2:bnx2_poll+0xf6/0x231
+ [<ffffffff8000c9b9>] net_rx_action+0xac/0x1b1
+ [<ffffffff800125a0>] __do_softirq+0x89/0x133
+ [<ffffffff8005e30c>] call_softirq+0x1c/0x28
+ [<ffffffff8006d5de>] do_softirq+0x2c/0x7d
+ [<ffffffff8006d46e>] do_IRQ+0xee/0xf7
+ [<ffffffff8005d625>] ret_from_intr+0x0/0xa
+ <EOI>  [<ffffffff801a5780>] acpi_processor_idle_simple+0x1c5/0x341
+ [<ffffffff801a573d>] acpi_processor_idle_simple+0x182/0x341
+ [<ffffffff801a55bb>] acpi_processor_idle_simple+0x0/0x341
+ [<ffffffff80049560>] cpu_idle+0x95/0xb8
+ [<ffffffff80078b1c>] start_secondary+0x479/0x488
+
+Signed-off-by: Eddie Wai <eddie.wai@broadcom.com>
+Reviewed-by: Mike Christie <michaelc@cs.wisc.edu>
+Signed-off-by: James Bottomley <JBottomley@Parallels.com>
+Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
+
+---
+ drivers/scsi/bnx2i/bnx2i_hwi.c |    3 +++
+ 1 file changed, 3 insertions(+)
+
+--- a/drivers/scsi/bnx2i/bnx2i_hwi.c
++++ b/drivers/scsi/bnx2i/bnx2i_hwi.c
+@@ -1260,6 +1260,9 @@ int bnx2i_send_fw_iscsi_init_msg(struct
+       int rc = 0;
+       u64 mask64;
++      memset(&iscsi_init, 0x00, sizeof(struct iscsi_kwqe_init1));
++      memset(&iscsi_init2, 0x00, sizeof(struct iscsi_kwqe_init2));
++
+       bnx2i_adjust_qp_size(hba);
+       iscsi_init.flags =
diff --git a/queue-3.0/scsi-hpsa-fix-handling-of-protocol-error.patch b/queue-3.0/scsi-hpsa-fix-handling-of-protocol-error.patch
new file mode 100644 (file)
index 0000000..78a1b6d
--- /dev/null
@@ -0,0 +1,45 @@
+From 256d0eaac87da1e993190846064f339f4c7a63f5 Mon Sep 17 00:00:00 2001
+From: "Stephen M. Cameron" <scameron@beardog.cce.hp.com>
+Date: Fri, 14 Sep 2012 16:34:25 -0500
+Subject: SCSI: hpsa: fix handling of protocol error
+
+From: "Stephen M. Cameron" <scameron@beardog.cce.hp.com>
+
+commit 256d0eaac87da1e993190846064f339f4c7a63f5 upstream.
+
+If a command status of CMD_PROTOCOL_ERR is received, this
+information should be conveyed to the SCSI mid layer, not
+dropped on the floor.  CMD_PROTOCOL_ERR may be received
+from the Smart Array for any commands destined for an external
+RAID controller such as a P2000, or commands destined for tape
+drives or CD/DVD-ROM drives, if for instance a cable is
+disconnected.  This mostly affects multipath configurations, as
+disconnecting a cable on a non-multipath configuration is not
+going to do anything good regardless of whether CMD_PROTOCOL_ERR
+is handled correctly or not.  Not handling CMD_PROTOCOL_ERR
+correctly in a multipath configaration involving external RAID
+controllers may cause data corruption, so this is quite a serious
+bug.  This bug should not normally cause a problem for direct
+attached disk storage.
+
+Signed-off-by: Stephen M. Cameron <scameron@beardog.cce.hp.com>
+Signed-off-by: James Bottomley <JBottomley@Parallels.com>
+Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
+
+---
+ drivers/scsi/hpsa.c |    3 ++-
+ 1 file changed, 2 insertions(+), 1 deletion(-)
+
+--- a/drivers/scsi/hpsa.c
++++ b/drivers/scsi/hpsa.c
+@@ -1209,8 +1209,9 @@ static void complete_scsi_command(struct
+       }
+               break;
+       case CMD_PROTOCOL_ERR:
++              cmd->result = DID_ERROR << 16;
+               dev_warn(&h->pdev->dev, "cp %p has "
+-                      "protocol error \n", cp);
++                      "protocol error\n", cp);
+               break;
+       case CMD_HARDWARE_ERR:
+               cmd->result = DID_ERROR << 16;
diff --git a/queue-3.0/scsi-mpt2sas-fix-for-issue-unable-to-boot-from-the-drive-connected-to-hba.patch b/queue-3.0/scsi-mpt2sas-fix-for-issue-unable-to-boot-from-the-drive-connected-to-hba.patch
new file mode 100644 (file)
index 0000000..d9d462c
--- /dev/null
@@ -0,0 +1,38 @@
+From 10cce6d8b5af0b32bc4254ae4a28423a74c0921c Mon Sep 17 00:00:00 2001
+From: "sreekanth.reddy@lsi.com" <sreekanth.reddy@lsi.com>
+Date: Wed, 22 Aug 2012 16:55:13 +0530
+Subject: SCSI: mpt2sas: Fix for issue - Unable to boot from the drive connected to HBA
+
+From: "sreekanth.reddy@lsi.com" <sreekanth.reddy@lsi.com>
+
+commit 10cce6d8b5af0b32bc4254ae4a28423a74c0921c upstream.
+
+This patch checks whether HBA is SAS2008 B0 controller.
+if it is a SAS2008 B0 controller then it use IO-APIC interrupt instead of MSIX,
+as SAS2008 B0 controller doesn't support MSIX interrupts.
+
+[jejb: fix whitespace problems]
+Signed-off-by: Sreekanth Reddy <sreekanth.reddy@lsi.com>
+Signed-off-by: James Bottomley <JBottomley@Parallels.com>
+Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
+
+---
+ drivers/scsi/mpt2sas/mpt2sas_base.c |    7 +++++++
+ 1 file changed, 7 insertions(+)
+
+--- a/drivers/scsi/mpt2sas/mpt2sas_base.c
++++ b/drivers/scsi/mpt2sas/mpt2sas_base.c
+@@ -1097,6 +1097,13 @@ _base_check_enable_msix(struct MPT2SAS_A
+       u16 message_control;
++      /* Check whether controller SAS2008 B0 controller,
++         if it is SAS2008 B0 controller use IO-APIC instead of MSIX */
++      if (ioc->pdev->device == MPI2_MFGPAGE_DEVID_SAS2008 &&
++          ioc->pdev->revision == 0x01) {
++              return -EINVAL;
++      }
++
+       base = pci_find_capability(ioc->pdev, PCI_CAP_ID_MSIX);
+       if (!base) {
+               dfailprintk(ioc, printk(MPT2SAS_INFO_FMT "msix not "
index 4ac90dbdea0147d12a3841517838a51c2882a145..9e8eb395c1102dade1214bdfb2fa7b75a7efcbac 100644 (file)
@@ -51,3 +51,12 @@ memory-hotplug-fix-section-info-double-registration-bug.patch
 xen-boot-disable-numa-for-pv-guests.patch
 hwmon-fam15h_power-tweak-runavg_range-on-resume.patch
 hwmon-ads7871-add-name-sysfs-attribute.patch
+scsi-mpt2sas-fix-for-issue-unable-to-boot-from-the-drive-connected-to-hba.patch
+scsi-bnx2i-fixed-null-ptr-deference-for-1g-bnx2-linux-iscsi-offload.patch
+scsi-hpsa-fix-handling-of-protocol-error.patch
+bluetooth-fix-not-removing-power_off-delayed-work.patch
+hpwdt-fix-kdump-issue-in-hpwdt.patch
+arm-fix-bad-applied-patch-for-arch-arm-kconfig-of-stable-3.0.y-tree.patch
+arm-7532-1-decompressor-reset-sctlr.tre-for-vmsa-armv7-cores.patch
+tracing-don-t-call-page_to_pfn-if-page-is-null.patch
+input-i8042-disable-mux-on-toshiba-c850d.patch
diff --git a/queue-3.0/tracing-don-t-call-page_to_pfn-if-page-is-null.patch b/queue-3.0/tracing-don-t-call-page_to_pfn-if-page-is-null.patch
new file mode 100644 (file)
index 0000000..ae7dd8b
--- /dev/null
@@ -0,0 +1,47 @@
+From 85f2a2ef1d0ab99523e0b947a2b723f5650ed6aa Mon Sep 17 00:00:00 2001
+From: Wen Congyang <wency@cn.fujitsu.com>
+Date: Thu, 20 Sep 2012 14:04:47 +0800
+Subject: tracing: Don't call page_to_pfn() if page is NULL
+
+From: Wen Congyang <wency@cn.fujitsu.com>
+
+commit 85f2a2ef1d0ab99523e0b947a2b723f5650ed6aa upstream.
+
+When allocating memory fails, page is NULL. page_to_pfn() will
+cause the kernel panicked if we don't use sparsemem vmemmap.
+
+Link: http://lkml.kernel.org/r/505AB1FF.8020104@cn.fujitsu.com
+
+Cc: Frederic Weisbecker <fweisbec@gmail.com>
+Cc: Ingo Molnar <mingo@redhat.com>
+Cc: Andrew Morton <akpm@linux-foundation.org>
+Acked-by: Mel Gorman <mel@csn.ul.ie>
+Reviewed-by: Minchan Kim <minchan@kernel.org>
+Signed-off-by: Wen Congyang <wency@cn.fujitsu.com>
+Signed-off-by: Steven Rostedt <rostedt@goodmis.org>
+Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
+
+---
+ include/trace/events/kmem.h |    4 ++--
+ 1 file changed, 2 insertions(+), 2 deletions(-)
+
+--- a/include/trace/events/kmem.h
++++ b/include/trace/events/kmem.h
+@@ -214,7 +214,7 @@ TRACE_EVENT(mm_page_alloc,
+       TP_printk("page=%p pfn=%lu order=%d migratetype=%d gfp_flags=%s",
+               __entry->page,
+-              page_to_pfn(__entry->page),
++              __entry->page ? page_to_pfn(__entry->page) : 0,
+               __entry->order,
+               __entry->migratetype,
+               show_gfp_flags(__entry->gfp_flags))
+@@ -240,7 +240,7 @@ DECLARE_EVENT_CLASS(mm_page,
+       TP_printk("page=%p pfn=%lu order=%u migratetype=%d percpu_refill=%d",
+               __entry->page,
+-              page_to_pfn(__entry->page),
++              __entry->page ? page_to_pfn(__entry->page) : 0,
+               __entry->order,
+               __entry->migratetype,
+               __entry->order == 0)