From: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
To: linux-kernel@vger.kernel.org
Cc: Greg Kroah-Hartman <gregkh@linuxfoundation.org>,
stable@vger.kernel.org, Greg Edwards <gedwards@fireweed.org>,
Chaitra P B <chaitra.basappa@broadcom.com>,
"Martin K. Petersen" <martin.petersen@oracle.com>
Subject: [PATCH 4.4 081/113] mpt3sas: Fix resume on WarpDrive flash cards
Date: Mon, 5 Sep 2016 18:44:44 +0200 [thread overview]
Message-ID: <20160905164352.646434810@linuxfoundation.org> (raw)
In-Reply-To: <20160905164349.217621339@linuxfoundation.org>
4.4-stable review patch. If anyone has any objections, please let me know.
------------------
From: Greg Edwards <gedwards@fireweed.org>
commit ce7c6c9e1d997a2670aead3a7b87f4df32c11118 upstream.
mpt3sas crashes on resume after suspend with WarpDrive flash cards. The
reply_post_host_index array is not set back up after the resume, and we
deference a stale pointer in _base_interrupt().
[ 47.309711] BUG: unable to handle kernel paging request at ffffc90001f8006c
[ 47.318289] IP: [<ffffffffc00863ef>] _base_interrupt+0x49f/0xa30 [mpt3sas]
[ 47.326749] PGD 41ccaa067 PUD 41ccab067 PMD 3466c067 PTE 0
[ 47.333848] Oops: 0002 [#1] SMP
...
[ 47.452708] CPU: 0 PID: 0 Comm: swapper/0 Not tainted 4.7.0 #6
[ 47.460506] Hardware name: Dell Inc. OptiPlex 990/06D7TR, BIOS A18 09/24/2013
[ 47.469629] task: ffffffff81c0d500 ti: ffffffff81c00000 task.ti: ffffffff81c00000
[ 47.479112] RIP: 0010:[<ffffffffc00863ef>] [<ffffffffc00863ef>] _base_interrupt+0x49f/0xa30 [mpt3sas]
[ 47.490466] RSP: 0018:ffff88041d203e30 EFLAGS: 00010002
[ 47.497801] RAX: 0000000000000001 RBX: ffff880033f4c000 RCX: 0000000000000001
[ 47.506973] RDX: ffffc90001f8006c RSI: 0000000000000082 RDI: 0000000000000082
[ 47.516141] RBP: ffff88041d203eb0 R08: ffff8804118e2820 R09: 0000000000000001
[ 47.525300] R10: 0000000000000001 R11: 00000000100c0000 R12: 0000000000000000
[ 47.534457] R13: ffff880412c487e0 R14: ffff88041a8987d8 R15: 0000000000000001
[ 47.543632] FS: 0000000000000000(0000) GS:ffff88041d200000(0000) knlGS:0000000000000000
[ 47.553796] CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033
[ 47.561632] CR2: ffffc90001f8006c CR3: 0000000001c06000 CR4: 00000000000406f0
[ 47.570883] Stack:
[ 47.575015] 000000001d211228 ffff88041d2100c0 ffff8800c47d8130 0000000000000100
[ 47.584625] ffff8804100c0000 100c000000000000 ffff88041a8992a0 ffff88041a8987f8
[ 47.594230] ffff88041d203e00 ffffffff81111e55 000000000000038c ffff880414ad4280
[ 47.603862] Call Trace:
[ 47.608474] <IRQ>
[ 47.610413] [<ffffffff81111e55>] ? call_timer_fn+0x35/0x120
[ 47.620539] [<ffffffff81100a1f>] handle_irq_event_percpu+0x7f/0x1c0
[ 47.629061] [<ffffffff81100b8c>] handle_irq_event+0x2c/0x50
[ 47.636859] [<ffffffff81103fff>] handle_edge_irq+0x6f/0x130
[ 47.644654] [<ffffffff8102fbf3>] handle_irq+0x73/0x120
[ 47.652011] [<ffffffff810c6ada>] ? atomic_notifier_call_chain+0x1a/0x20
[ 47.660854] [<ffffffff817e374b>] do_IRQ+0x4b/0xd0
[ 47.667777] [<ffffffff817e160c>] common_interrupt+0x8c/0x8c
[ 47.675635] <EOI>
Move the reply_post_host_index array setup into
mpt3sas_base_map_resources(), which is also in the resume path.
Signed-off-by: Greg Edwards <gedwards@fireweed.org>
Acked-by: Chaitra P B <chaitra.basappa@broadcom.com>
Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
---
drivers/scsi/mpt3sas/mpt3sas_base.c | 22 +++++++++++-----------
1 file changed, 11 insertions(+), 11 deletions(-)
--- a/drivers/scsi/mpt3sas/mpt3sas_base.c
+++ b/drivers/scsi/mpt3sas/mpt3sas_base.c
@@ -2155,6 +2155,17 @@ mpt3sas_base_map_resources(struct MPT3SA
} else
ioc->msix96_vector = 0;
+ if (ioc->is_warpdrive) {
+ ioc->reply_post_host_index[0] = (resource_size_t __iomem *)
+ &ioc->chip->ReplyPostHostIndex;
+
+ for (i = 1; i < ioc->cpu_msix_table_sz; i++)
+ ioc->reply_post_host_index[i] =
+ (resource_size_t __iomem *)
+ ((u8 __iomem *)&ioc->chip->Doorbell + (0x4000 + ((i - 1)
+ * 4)));
+ }
+
list_for_each_entry(reply_q, &ioc->reply_queue_list, list)
pr_info(MPT3SAS_FMT "%s: IRQ %d\n",
reply_q->name, ((ioc->msix_enable) ? "PCI-MSI-X enabled" :
@@ -5201,17 +5212,6 @@ mpt3sas_base_attach(struct MPT3SAS_ADAPT
if (r)
goto out_free_resources;
- if (ioc->is_warpdrive) {
- ioc->reply_post_host_index[0] = (resource_size_t __iomem *)
- &ioc->chip->ReplyPostHostIndex;
-
- for (i = 1; i < ioc->cpu_msix_table_sz; i++)
- ioc->reply_post_host_index[i] =
- (resource_size_t __iomem *)
- ((u8 __iomem *)&ioc->chip->Doorbell + (0x4000 + ((i - 1)
- * 4)));
- }
-
pci_set_drvdata(ioc->pdev, ioc->shost);
r = _base_get_ioc_facts(ioc, CAN_SLEEP);
if (r)
next prev parent reply other threads:[~2016-09-05 16:44 UTC|newest]
Thread overview: 102+ messages / expand[flat|nested] mbox.gz Atom feed top
[not found] <CGME20160905164958uscas1p289eb6febd0bd03618ab344d7b8bdeac3@uscas1p2.samsung.com>
2016-09-05 16:43 ` [PATCH 4.4 000/113] 4.4.20-stable review Greg Kroah-Hartman
2016-09-05 16:43 ` [PATCH 4.4 001/113] hugetlb: fix nr_pmds accounting with shared page tables Greg Kroah-Hartman
2016-09-05 16:43 ` [PATCH 4.4 002/113] x86/mm: Disable preemption during CR3 read+write Greg Kroah-Hartman
2016-09-05 16:43 ` [PATCH 4.4 003/113] uprobes/x86: Fix RIP-relative handling of EVEX-encoded instructions Greg Kroah-Hartman
2016-09-05 16:43 ` [PATCH 4.4 004/113] tools/testing/nvdimm: fix SIGTERM vs hotplug crash Greg Kroah-Hartman
2016-09-05 16:43 ` [PATCH 4.4 005/113] SUNRPC: Handle EADDRNOTAVAIL on connection failures Greg Kroah-Hartman
2016-09-05 16:43 ` [PATCH 4.4 007/113] powerpc/eeh: eeh_pci_enable(): fix checking of post-request state Greg Kroah-Hartman
2016-09-05 16:43 ` [PATCH 4.4 008/113] ALSA: usb-audio: Add a sample rate quirk for Creative Live! Cam Socialize HD (VF0610) Greg Kroah-Hartman
2016-09-05 16:43 ` [PATCH 4.4 009/113] ALSA: usb-audio: Add quirk for ELP HD USB Camera Greg Kroah-Hartman
2016-09-05 16:43 ` [PATCH 4.4 010/113] arm64: Define AT_VECTOR_SIZE_ARCH for ARCH_DLINFO Greg Kroah-Hartman
2016-09-05 16:43 ` [PATCH 4.4 011/113] parisc: Fix order of EREFUSED define in errno.h Greg Kroah-Hartman
2016-09-05 16:43 ` [PATCH 4.4 012/113] virtio: fix memory leak in virtqueue_add() Greg Kroah-Hartman
2016-09-05 16:43 ` [PATCH 4.4 013/113] vfio/pci: Fix NULL pointer oops in error interrupt setup handling Greg Kroah-Hartman
2016-09-05 16:43 ` [PATCH 4.4 014/113] perf intel-pt: Fix occasional decoding errors when tracing system-wide Greg Kroah-Hartman
2016-09-05 16:43 ` [PATCH 4.4 015/113] libnvdimm, nd_blk: mask off reserved status bits Greg Kroah-Hartman
2016-09-05 16:43 ` [PATCH 4.4 016/113] ALSA: hda - Manage power well properly for resume Greg Kroah-Hartman
2016-09-05 16:43 ` [PATCH 4.4 017/113] NVMe: Dont unmap controller registers on reset Greg Kroah-Hartman
2016-09-05 16:43 ` [PATCH 4.4 018/113] PCI: Support PCIe devices with short cfg_size Greg Kroah-Hartman
2016-09-05 16:43 ` [PATCH 4.4 019/113] PCI: Add Netronome vendor and device IDs Greg Kroah-Hartman
2016-09-05 16:43 ` [PATCH 4.4 020/113] PCI: Limit config space size for Netronome NFP6000 family Greg Kroah-Hartman
2016-09-05 16:43 ` [PATCH 4.4 021/113] PCI: Add Netronome NFP4000 PF device ID Greg Kroah-Hartman
2016-09-05 16:43 ` [PATCH 4.4 022/113] PCI: Limit config space size for Netronome NFP4000 Greg Kroah-Hartman
2016-09-05 16:43 ` [PATCH 4.4 024/113] ACPI: CPPC: Return error if _CPC is invalid on a CPU Greg Kroah-Hartman
2016-09-05 16:43 ` [PATCH 4.4 025/113] ACPI / CPPC: Prevent cpc_desc_ptr points to the invalid data Greg Kroah-Hartman
2016-09-05 16:43 ` [PATCH 4.4 026/113] um: Dont discard .text.exit section Greg Kroah-Hartman
2016-09-05 16:43 ` [PATCH 4.4 027/113] genirq/msi: Remove unused MSI_FLAG_IDENTITY_MAP Greg Kroah-Hartman
2016-09-05 16:43 ` [PATCH 4.4 028/113] genirq/msi: Make sure PCI MSIs are activated early Greg Kroah-Hartman
2016-09-05 16:43 ` [PATCH 4.4 029/113] crypto: caam - fix non-hmac hashes Greg Kroah-Hartman
2016-09-05 16:43 ` [PATCH 4.4 032/113] usb: ehci: change order of register cleanup during shutdown Greg Kroah-Hartman
2016-09-05 16:43 ` [PATCH 4.4 033/113] usb: misc: usbtest: add fix for driver hang Greg Kroah-Hartman
2016-09-05 16:43 ` [PATCH 4.4 034/113] usb: dwc3: pci: add Intel Kabylake PCI ID Greg Kroah-Hartman
2016-09-05 16:43 ` [PATCH 4.4 035/113] usb: dwc3: gadget: increment request->actual once Greg Kroah-Hartman
2016-09-05 16:43 ` [PATCH 4.4 036/113] usb: define USB_SPEED_SUPER_PLUS speed for SuperSpeedPlus USB3.1 devices Greg Kroah-Hartman
2016-09-05 16:44 ` [PATCH 4.4 037/113] usb: hub: Fix unbalanced reference count/memory leak/deadlocks Greg Kroah-Hartman
2016-09-05 16:44 ` [PATCH 4.4 038/113] USB: hub: fix up early-exit pathway in hub_activate Greg Kroah-Hartman
2016-09-05 16:44 ` [PATCH 4.4 039/113] USB: hub: change the locking " Greg Kroah-Hartman
2016-09-05 16:44 ` [PATCH 4.4 040/113] usb: renesas_usbhs: clear the BRDYSTS in usbhsg_ep_enable() Greg Kroah-Hartman
2016-09-05 16:44 ` [PATCH 4.4 041/113] usb: renesas_usbhs: Use dmac only if the pipe type is bulk Greg Kroah-Hartman
2016-09-05 16:44 ` [PATCH 4.4 042/113] USB: validate wMaxPacketValue entries in endpoint descriptors Greg Kroah-Hartman
2016-09-05 16:44 ` [PATCH 4.4 043/113] usb: gadget: fsl_qe_udc: off by one in setup_received_handle() Greg Kroah-Hartman
2016-09-05 16:44 ` [PATCH 4.4 044/113] usb/gadget: fix gadgetfs aio support Greg Kroah-Hartman
2016-09-05 16:44 ` [PATCH 4.4 045/113] xhci: always handle "Command Ring Stopped" events Greg Kroah-Hartman
2016-09-05 16:44 ` [PATCH 4.4 046/113] usb: xhci: Fix panic if disconnect Greg Kroah-Hartman
2016-09-05 16:44 ` [PATCH 4.4 047/113] xhci: dont dereference a xhci member after removing xhci Greg Kroah-Hartman
2016-09-05 16:44 ` [PATCH 4.4 048/113] USB: serial: fix memleak in driver-registration error path Greg Kroah-Hartman
2016-09-05 16:44 ` [PATCH 4.4 049/113] USB: serial: option: add D-Link DWM-156/A3 Greg Kroah-Hartman
2016-09-05 16:44 ` [PATCH 4.4 050/113] USB: serial: option: add support for Telit LE920A4 Greg Kroah-Hartman
2016-09-05 16:44 ` [PATCH 4.4 051/113] USB: serial: ftdi_sio: add device ID for WICED USB UART dev board Greg Kroah-Hartman
2016-09-05 16:44 ` [PATCH 4.4 053/113] xhci: Make sure xhci handles USB_SPEED_SUPER_PLUS devices Greg Kroah-Hartman
2016-09-05 16:44 ` [PATCH 4.4 054/113] iommu/dma: Dont put uninitialised IOVA domains Greg Kroah-Hartman
2016-09-05 16:44 ` [PATCH 4.4 055/113] iommu/arm-smmu: Fix CMDQ error handling Greg Kroah-Hartman
2016-09-05 16:44 ` [PATCH 4.4 056/113] iommu/arm-smmu: Dont BUG() if we find aborting STEs with disable_bypass Greg Kroah-Hartman
2016-09-05 16:44 ` [PATCH 4.4 058/113] EDAC: Increment correct counter in edac_inc_ue_error() Greg Kroah-Hartman
2016-09-05 16:44 ` [PATCH 4.4 059/113] s390/dasd: fix hanging device after clear subchannel Greg Kroah-Hartman
2016-09-05 16:44 ` [PATCH 4.4 060/113] mac80211: fix purging multicast PS buffer queue Greg Kroah-Hartman
2016-09-05 16:44 ` [PATCH 4.4 061/113] arm64: dts: rockchip: add reset saradc node for rk3368 SoCs Greg Kroah-Hartman
2016-09-05 16:44 ` [PATCH 4.4 062/113] of: fix reference counting in of_graph_get_endpoint_by_regs Greg Kroah-Hartman
2016-09-05 16:44 ` [PATCH 4.4 063/113] sched/cputime: Fix NO_HZ_FULL getrusage() monotonicity regression Greg Kroah-Hartman
2016-09-05 16:44 ` [PATCH 4.4 064/113] sched/nohz: Fix affine unpinned timers mess Greg Kroah-Hartman
2016-09-05 16:44 ` [PATCH 4.4 065/113] iio: fix sched WARNING "do not call blocking ops when !TASK_RUNNING" Greg Kroah-Hartman
2016-09-05 16:44 ` [PATCH 4.4 070/113] drm/amd/amdgpu: sdma resume fail during S4 on CI Greg Kroah-Hartman
2016-09-05 16:44 ` [PATCH 4.4 072/113] drm/i915: fix aliasing_ppgtt leak Greg Kroah-Hartman
2016-09-05 16:44 ` [PATCH 4.4 073/113] ARC: build: Better way to detect ISA compatible toolchain Greg Kroah-Hartman
2016-09-05 16:44 ` [PATCH 4.4 074/113] ARC: use correct offset in pt_regs for saving/restoring user mode r25 Greg Kroah-Hartman
2016-09-05 16:44 ` [PATCH 4.4 075/113] ARC: Call trace_hardirqs_on() before enabling irqs Greg Kroah-Hartman
2016-09-05 16:44 ` [PATCH 4.4 076/113] ARC: Elide redundant setup of DMA callbacks Greg Kroah-Hartman
2016-09-05 16:44 ` [PATCH 4.4 077/113] aacraid: Check size values after double-fetch from user Greg Kroah-Hartman
2016-09-05 16:44 ` [PATCH 4.4 078/113] mfd: cros_ec: Add cros_ec_cmd_xfer_status() helper Greg Kroah-Hartman
2016-09-05 16:44 ` [PATCH 4.4 079/113] i2c: cros-ec-tunnel: Fix usage of cros_ec_cmd_xfer() Greg Kroah-Hartman
2016-09-05 16:44 ` [PATCH 4.4 080/113] cdc-acm: fix wrong pipe type on rx interrupt xfers Greg Kroah-Hartman
2016-09-05 16:44 ` Greg Kroah-Hartman [this message]
2016-09-05 16:44 ` [PATCH 4.4 082/113] megaraid_sas: Fix probing cards without io port Greg Kroah-Hartman
2016-09-05 16:44 ` [PATCH 4.4 083/113] usb: renesas_usbhs: gadget: fix return value check in usbhs_mod_gadget_probe() Greg Kroah-Hartman
2016-09-05 16:44 ` [PATCH 4.4 084/113] gpio: Fix OF build problem on UM Greg Kroah-Hartman
2016-09-05 16:44 ` [PATCH 4.4 085/113] fs/seq_file: fix out-of-bounds read Greg Kroah-Hartman
2016-09-05 16:44 ` [PATCH 4.4 086/113] btrfs: waiting on qgroup rescan should not always be interruptible Greg Kroah-Hartman
2016-09-05 16:44 ` [PATCH 4.4 087/113] btrfs: properly track when rescan worker is running Greg Kroah-Hartman
2016-09-05 16:44 ` [PATCH 4.4 088/113] Input: tegra-kbc - fix inverted reset logic Greg Kroah-Hartman
2016-09-05 16:44 ` [PATCH 4.4 089/113] Input: i8042 - break load dependency between atkbd/psmouse and i8042 Greg Kroah-Hartman
2016-09-05 16:44 ` [PATCH 4.4 090/113] Input: i8042 - set up shared ps2_cmd_mutex for AUX ports Greg Kroah-Hartman
2016-09-05 16:44 ` [PATCH 4.4 091/113] crypto: nx - off by one bug in nx_of_update_msc() Greg Kroah-Hartman
2016-09-05 16:44 ` [PATCH 4.4 092/113] crypto: qat - fix aes-xts key sizes Greg Kroah-Hartman
2016-09-05 16:44 ` [PATCH 4.4 093/113] dmaengine: usb-dmac: check CHCR.DE bit in usb_dmac_isr_channel() Greg Kroah-Hartman
2016-09-05 16:44 ` [PATCH 4.4 095/113] usb: chipidea: udc: dont touch DP when controller is in host mode Greg Kroah-Hartman
2016-09-05 16:44 ` [PATCH 4.4 096/113] USB: fix typo in wMaxPacketSize validation Greg Kroah-Hartman
2016-09-05 16:45 ` [PATCH 4.4 097/113] USB: serial: mos7720: fix non-atomic allocation in write path Greg Kroah-Hartman
2016-09-05 16:45 ` [PATCH 4.4 098/113] USB: serial: mos7840: " Greg Kroah-Hartman
2016-09-05 16:45 ` [PATCH 4.4 099/113] USB: serial: option: add WeTelecom WM-D200 Greg Kroah-Hartman
2016-09-05 16:45 ` [PATCH 4.4 100/113] USB: serial: option: add WeTelecom 0x6802 and 0x6803 products Greg Kroah-Hartman
2016-09-05 16:45 ` [PATCH 4.4 101/113] staging: comedi: daqboard2000: bug fix board type matching code Greg Kroah-Hartman
2016-09-05 16:45 ` [PATCH 4.4 103/113] staging: comedi: ni_mio_common: fix AO inttrig backwards compatibility Greg Kroah-Hartman
2016-09-05 16:45 ` [PATCH 4.4 105/113] ACPI / drivers: fix typo in ACPI_DECLARE_PROBE_ENTRY macro Greg Kroah-Hartman
2016-09-05 16:45 ` [PATCH 4.4 106/113] ACPI / drivers: replace acpi_probe_lock spinlock with mutex Greg Kroah-Hartman
2016-09-05 16:45 ` [PATCH 4.4 107/113] ACPI / sysfs: fix error code in get_status() Greg Kroah-Hartman
2016-09-05 16:45 ` [PATCH 4.4 108/113] ACPI / SRAT: fix SRAT parsing order with both LAPIC and X2APIC present Greg Kroah-Hartman
2016-09-05 16:45 ` [PATCH 4.4 109/113] ALSA: line6: Remove double line6_pcm_release() after failed acquire Greg Kroah-Hartman
2016-09-05 16:45 ` [PATCH 4.4 110/113] ALSA: line6: Give up on the lock while URBs are released Greg Kroah-Hartman
2016-09-05 16:45 ` [PATCH 4.4 111/113] ALSA: line6: Fix POD sysfs attributes segfault Greg Kroah-Hartman
2016-09-05 16:45 ` [PATCH 4.4 112/113] hwmon: (iio_hwmon) fix memory leak in name attribute Greg Kroah-Hartman
2016-09-05 16:45 ` [PATCH 4.4 113/113] sysfs: correctly handle read offset on PREALLOC attrs Greg Kroah-Hartman
2016-09-06 17:03 ` [PATCH 4.4 000/113] 4.4.20-stable review Guenter Roeck
2016-09-06 18:03 ` Shuah Khan
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20160905164352.646434810@linuxfoundation.org \
--to=gregkh@linuxfoundation.org \
--cc=chaitra.basappa@broadcom.com \
--cc=gedwards@fireweed.org \
--cc=linux-kernel@vger.kernel.org \
--cc=martin.petersen@oracle.com \
--cc=stable@vger.kernel.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).