login
Login
/
Register
Search
Header Space
Forums
News
Jobs
Blogs
Features
Man Pages
Site
Home
»
Mailing list archives
»
linux-kernel
»
2008
»
May
»
7
Re: [PATCH] mptsas: add mptsas_shutdown to call pci_disable_msi
view
thread
Score:
Previous message: [
thread
] [
date
] [
author
]
Next message: [thread] [
date
] [
author
]
[view in full thread]
From:
Yinghai Lu <yhlu.kernel@...>
To: Andrew Morton <akpm@...>
Cc: <James.Bottomley@...>, <linux-kernel@...>, <linux-scsi@...>, <sathya.prakash@...>, <Eric.Moore@...>, <ebiederm@...>
Subject:
Re: [PATCH] mptsas: add mptsas_shutdown to call pci_disable_msi
Date: Wednesday, May 7, 2008 - 7:40 pm
On Wed, May 7, 2008 at 4:31 PM, Andrew Morton <akpm@linux-foundation.org> wrote:
quoted text
> > On Tue, 22 Apr 2008 20:12:08 -0700 > "Yinghai Lu" <yhlu.kernel@gmail.com> wrote: > > > On Tue, Apr 22, 2008 at 7:47 PM, Yinghai Lu <yhlu.kernel.send@gmail.com> wrote: > > > > > > > > > this change > > > > > > | commit 23a274c8a5adafc74a66f16988776fc7dd6f6e51 > > > | Author: Prakash, Sathya <sathya.prakash@lsi.com> > > > | Date: Fri Mar 7 15:53:21 2008 +0530 > > > | > > > | [SCSI] mpt fusion: Enable MSI by default for SAS controllers > > > | > > > | This patch modifies the driver to enable MSI by default for all SAS chips. > > > | > > > cause kexec RHEL 5.1 kernel fail. > > > > > > root casue: the rhel 5.1 kernel still use INTx emulation. > > > and mptscsih_shutdown doesn't call pci_disable_msi to reenable INTx on kexec path > > > > > > so try to call mptsas_remove in mptsas_shutdown. > > > then pci_disable_msi will be called via mptsas_remove==>mptscih_remove==> > > > mpt_detach. > > > > > > Signed-off-by: Yinghai Lu <yhlu.kernel@gmail.com> > > > CC: Prakash, Sathya <sathya.prakash@lsi.com> > > > CC: "Moore, Eric" <Eric.Moore@lsi.com> > > > > > > Index: linux-2.6/drivers/message/fusion/mptsas.c > > > =================================================================== > > > --- linux-2.6.orig/drivers/message/fusion/mptsas.c > > > +++ linux-2.6/drivers/message/fusion/mptsas.c > > > @@ -3327,6 +3327,11 @@ static void __devexit mptsas_remove(stru > > > mptscsih_remove(pdev); > > > } > > > > > > +static void mptsas_shutdown(struct pci_dev *pdev) > > > +{ > > > + mptsas_remove(pdev); > > > +} > > > + > > > static struct pci_device_id mptsas_pci_table[] = { > > > { PCI_VENDOR_ID_LSI_LOGIC, MPI_MANUFACTPAGE_DEVID_SAS1064, > > > PCI_ANY_ID, PCI_ANY_ID }, > > > @@ -3348,7 +3353,7 @@ static struct pci_driver mptsas_driver = > > > .id_table = mptsas_pci_table, > > > .probe = mptsas_probe, > > > .remove = __devexit_p(mptsas_remove), > > > - .shutdown = mptscsih_shutdown, > > > + .shutdown = mptsas_shutdown, > > > #ifdef CONFIG_PM > > > .suspend = mptscsih_suspend, > > > .resume = mptscsih_resume, > > > -- > > > > fail on one system with big sas expander... > > > > LBSuse:~ # mkdir /xx > > LBSuse:~ # mount /dev/sdl1 /xx > > LBSuse:~ # cd /xx > > LBSuse:/xx # sh kk_rh_5.1 > > LBSuse:/xx # ./kexec -e > > BUG: unable to handle kernel NULL pointer dereference at 0000000000000028 > > IP: [<ffffffff80337af4>] sysfs_find_dirent+0x1f/0x5f > > PGD 41f137067 PUD 424482067 PMD 0 > > Oops: 0000 [1] SMP > > CPU 7 > > Modules linked in: > > Pid: 7534, comm: kexec Not tainted > > I don't understand your email. > > Are you saying that this oops is the thing which your patch fixes? > > Or are you saying that this oops occurs even after your patch is applied? > That we have a second regression? > > > > > 2.6.25-sched-devel.git-x86-latest.git-03823-g1508ed0-dirty #135 > > RIP: 0010:[<ffffffff80337af4>] [<ffffffff80337af4>] sysfs_find_dirent+0x1f/0x5f > > RSP: 0018:ffff8104238f7708 EFLAGS: 00010246 > > RAX: 0000000000000000 RBX: ffffffff80cd36a5 RCX: 000000008c0f362e > > RDX: ffffffff80e20ab0 RSI: ffffffff80cd36a5 RDI: 0000000000000000 > > RBP: ffff8104238f7728 R08: 0000000000000000 R09: 000000008c0f362e > > R10: ffff8104238f77f8 R11: 000000008c0f362e R12: 0000000000000000 > > R13: ffff810223190358 R14: 0000000000000000 R15: 0000000000000000 > > FS: 00007fde8859d6f0(0000) GS:ffff810427039f00(0000) knlGS:0000000000000000 > > CS: 0010 DS: 0000 ES: 0000 CR0: 000000008005003b > > CR2: 0000000000000028 CR3: 00000004238b8000 CR4: 00000000000006e0 > > DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000 > > DR3: 0000000000000000 DR6: 00000000ffff0ff0 DR7: 0000000000000400 > > Process kexec (pid: 7534, threadinfo ffff8104238f6000, task ffff8104238e0000) > > Stack: 0000000000000000 000000008c0f362e ffffffff80cd36a5 0000000000000000 > > ffff8104238f7758 ffffffff80337b70 000000008c0f362e 000000008c0f362e > > ffff810223190268 ffffffff80e1fb20 ffff8104238f7798 ffffffff8033966e > > Call Trace: > > [<ffffffff80337b70>] sysfs_get_dirent+0x3c/0x72 > > [<ffffffff8033966e>] sysfs_remove_group+0x38/0xb4 > > [<ffffffff80633007>] dpm_sysfs_remove+0x2f/0x45 > > [<ffffffff806336d3>] device_pm_remove+0x34/0x85 > > [<ffffffff8062b283>] device_del+0x30/0x1b0 > > [<ffffffff8062b428>] device_unregister+0x25/0x48 > > [<ffffffff80639e73>] enclosure_unregister+0x85/0xcb > > [<ffffffff807dad42>] ses_intf_remove+0x8b/0xa8 > > [<ffffffff8062b2fb>] device_del+0xa8/0x1b0 > > [<ffffffff8062b428>] device_unregister+0x25/0x48 > > [<ffffffff80700bb4>] __scsi_remove_device+0x4c/0xaf > > [<ffffffff80700c50>] scsi_remove_device+0x39/0x5c > > [<ffffffff80700d15>] __scsi_remove_target+0xa2/0xf6 > > [<ffffffff80700de0>] ? __remove_child+0x0/0x4f > > [<ffffffff80700e12>] __remove_child+0x32/0x4f > > [<ffffffff8062ab27>] ? next_device+0x21/0x45 > > [<ffffffff8062ac23>] device_for_each_child+0x40/0x84 > > [<ffffffff80713d8e>] ? do_sas_phy_delete+0x0/0x66 > > [<ffffffff80700dbc>] scsi_remove_target+0x53/0x77 > > [<ffffffff807134b0>] sas_rphy_remove+0x42/0x81 > > [<ffffffff80713514>] sas_rphy_delete+0x25/0x48 > > [<ffffffff80713570>] sas_port_delete+0x39/0x147 > > [<ffffffff802259e0>] ? mcount_call+0x5/0x35 > > [<ffffffff80713d8e>] ? do_sas_phy_delete+0x0/0x66 > > [<ffffffff80713dc2>] do_sas_phy_delete+0x34/0x66 > > [<ffffffff8062ac23>] device_for_each_child+0x40/0x84 > > [<ffffffff80713d8e>] ? do_sas_phy_delete+0x0/0x66 > > [<ffffffff8071343f>] sas_remove_children+0x2e/0x5d > > [<ffffffff807134b7>] sas_rphy_remove+0x49/0x81 > > [<ffffffff80713514>] sas_rphy_delete+0x25/0x48 > > [<ffffffff80713570>] sas_port_delete+0x39/0x147 > > [<ffffffff802259e0>] ? mcount_call+0x5/0x35 > > [<ffffffff80713d8e>] ? do_sas_phy_delete+0x0/0x66 > > [<ffffffff80713dc2>] do_sas_phy_delete+0x34/0x66 > > [<ffffffff8062ac23>] device_for_each_child+0x40/0x84 > > [<ffffffff8071343f>] sas_remove_children+0x2e/0x5d > > [<ffffffff807136a6>] sas_remove_host+0x28/0x3e > > [<ffffffff80ab22ab>] mptsas_remove+0x46/0x107 > > [<ffffffff802259e0>] ? mcount_call+0x5/0x35 > > [<ffffffff8080ef6d>] mptsas_shutdown+0x21/0x37 > > [<ffffffff805a6815>] pci_device_shutdown+0x37/0x4d > > [<ffffffff8062a2ad>] device_shutdown+0x64/0xa0 > > [<ffffffff8027e57f>] ? blocking_notifier_call_chain+0x27/0x3d > > [<ffffffff8027131e>] kernel_restart_prepare+0x3f/0x5a > > [<ffffffff802716f7>] sys_reboot+0x172/0x1cb > > [<ffffffff802e2ac0>] ? __fput+0x158/0x17b > > [<ffffffff802efc4e>] ? vfs_ioctl+0x3e/0xa2 > > [<ffffffff802e2ef0>] ? fput+0x2c/0x42 > > [<ffffffff802df2d2>] ? filp_close+0x78/0x9a > > [<ffffffff802df0b4>] ? __put_unused_fd+0x33/0x60 > > [<ffffffff802e0bed>] ? sys_close+0x8c/0xdf > > [<ffffffff80225b9b>] system_call_after_swapgs+0x7b/0x80 > > > > > > Code: e8 37 85 f2 ff 48 83 c4 18 5b c9 c3 55 48 89 e5 41 54 53 48 83 > > ec 10 66 66 90 66 90 65 48 8b 04 25 28 00 00 00 48 89 45 e8 31 c0 <48> > > 8b 5f 28 49 89 f4 eb 14 48 8b 7b 18 4c 89 e6 e8 25 e8 25 00 > > RIP [<ffffffff80337af4>] sysfs_find_dirent+0x1f/0x5f > > RSP <ffff8104238f7708> > > CR2: 0000000000000028 > > ---[ end trace 4ca22418d73866ec ]--- > > > > may need create mptsas that only call pci_disable_msi > > > > It would be strange for an interrupt-disabling problem to cause sysfs to go > oops?
andrew, updated version has been merged... YH --
unsubscribe notice
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to
majordomo@vger.kernel.org
More majordomo info at
http://vger.kernel.org/majordomo-info.html
Please read the FAQ at
http://www.tux.org/lkml/
Previous message: [
thread
] [
date
] [
author
]
Next message: [thread] [
date
] [
author
]
Messages in current thread:
[PATCH] mptsas: add mptsas_shutdown to call pci_disable_msi
, Yinghai Lu
, (Tue Apr 22, 10:47 pm)
Re: [PATCH] mptsas: add mptsas_shutdown to call pci_disable_...
, Yinghai Lu
, (Tue Apr 22, 11:12 pm)
Re: [PATCH] mptsas: add mptsas_shutdown to call pci_disable_...
, Andrew Morton
, (Wed May 7, 7:31 pm)
Re: [PATCH] mptsas: add mptsas_shutdown to call pci_disable_...
, James Bottomley
, (Wed May 7, 7:50 pm)
Re: [PATCH] mptsas: add mptsas_shutdown to call pci_disable_...
, Yinghai Lu
, (Wed May 7, 7:40 pm)
Navigation
Create content
Mailing list archives
Recent posts
Mail archive search
Enter your search terms.
all mailing lists
alsa-devel
dragonflybsd-bugs
dragonflybsd-commit
dragonflybsd-docs
dragonflybsd-kernel
dragonflybsd-submit
dragonflybsd-user
freebsd-announce
freebsd-bugs
freebsd-chat
freebsd-cluster
freebsd-current
freebsd-drivers
freebsd-embeded
freebsd-fs
freebsd-hackers
freebsd-hardware
freebsd-mobile
freebsd-net
freebsd-performance
freebsd-pf
freebsd-security
freebsd-security-notifications
freebsd-threads
git
git-commits-head
linux-activists
linux-arm
linux-ath5k-devel
linux-btrfs
linux-c-programming
linux-driver-devel
linux-ext4
linux-fsdevel
linux-ia64
linux-input
linux-kernel
linux-kernel-janitors
linux-kernel-mentors
linux-kernel-newbies
linux-kvm
linux-net
linux-netdev
linux-newbie
linux-nfs
linux-raid
linux-scsi
linux-security-module
linux-sparse
linux-usb
linux-usb-devel
madwifi-devel
netbsd-announce
netbsd-tech-kern
open-graphics
open-graphics-announce-kt
openbsd-announce
openbsd-bugs
openbsd-ipv6
openbsd-misc
openbsd-security-announce
openbsd-smp
openbsd-source-changes
openbsd-tech
openfabrics-general
openmoko-community
openmoko-devel
openmoko-kernel
reiserfs-devel
tux3
ucarp
Optionally limit your search to a specific mailing list.
advanced
Popular discussions
linux-kernel
:
Andrea Arcangeli
[PATCH 06 of 11] rwsem contended
Mikulas Patocka
LFENCE instruction (was: [rfc][patch 3/3] x86: optimise barriers)
Rafael J. Wysocki
Re: [Bug 10030] Suspend doesn't work when SD card is inserted
Manu Abraham
PCIE
git
:
Sverre Rabbelier
Git vs Monotone
Junio C Hamano
[ANNOUNCE] GIT 1.5.4
Bill Lear
Meaning of "fatal: protocol error: bad line length character"?
Junio C Hamano
Re: [PATCH] Teach remote machinery about remotes.default config variable
openbsd-misc
:
Richard Stallman
Real men don't attack straw men
Stefan Beke
mail dovecot: pipe() failed: Too many open files
Wijnand Wiersma
Almost success: OpenBSD on Xen
Didier Wiroth
how can I "find xyz | xargs tar" ... like gtar
netbsd-tech-kern
:
Greg A. Woods
Re: Fork bomb protection patch
Tyler Retzlaff
Re: more summer of code fun
Elad Efrat
Re: sysctl knob to let sugid processes dump core (pr 15994)
Thor Lancelot Simon
Re: FFS journal
Latest forum posts
Serial Driver Implementation Help
9 hours ago
Linux kernel
aacraid bad
10 hours ago
Linux general
Tools: GCC 3.4.6, Final GCC 3 Release
1 day ago
Applications and Utilities
GNU/Hurd is so awful
2 days ago
GNU/Hurd
read /dev/mem not working in 2.6
4 days ago
Linux general
Issues with NETLINK sockets
4 days ago
Linux kernel
Anyone experiancing compiling issues with 2.6.26.6 patching with rt patch 2.6.26.6-rt11?
5 days ago
Linux kernel
Change network interface from eth0 to ppp0
5 days ago
Linux general
kernel module to intercept socket creation
5 days ago
Linux kernel
command to set Subnet Mask
5 days ago
Linux general
Show all forums...
Recent Tags
more tags
Colocation donated by:
Who's online
There are currently
4 users
and
976 guests
online.
Online users
Jeremy
zeekec
Mr_Z
bartman
Syndicate
speck-geostationary