* Re: 2.6.17-mm4 [not found] <20060629013643.4b47e8bd.akpm@osdl.org> @ 2006-06-29 20:39 ` Michal Piotrowski 2006-06-29 20:43 ` 2.6.17-mm4 Dave Jones 0 siblings, 1 reply; 16+ messages in thread From: Michal Piotrowski @ 2006-06-29 20:39 UTC (permalink / raw) To: Andrew Morton; +Cc: linux-kernel, netdev Hi, On 29/06/06, Andrew Morton <akpm@osdl.org> wrote: > > ftp://ftp.kernel.org/pub/linux/kernel/people/akpm/patches/2.6/2.6.17/2.6.17-mm4/ > > This looks very strange. BUG: unable to handle kernel paging request at virtual address 6b6b6c07 printing eip: c0138594 *pde=00000000 Oops: 0002 [#1] 4K_STACK PREEMPT SMP last sysfs file /class/net/eth0/address Modules linked in: ipv6 af_packet ipt_REJECT xt_tcpudp x_tables p4_clockmod speedstep_lib binfmt_misc (gdb) list *0xc0138594 0xc0138594 is in __lock_acquire (include2/asm/atomic.h:96). warning: Source file is more recent than executable. 91 * 92 * Atomically increments @v by 1. 93 */ 94 static __inline__ void atomic_inc(atomic_t *v) 95 { 96 __asm__ __volatile__( 97 LOCK_PREFIX "incl %0" 98 :"=m" (v->counter) 99 :"m" (v->counter)); 100 } Here is a config file http://www.stardust.webpages.pl/files/mm/2.6.17-mm4/mm-config Regards, Michal -- Michal K. K. Piotrowski LTG - Linux Testers Group (http://www.stardust.webpages.pl/ltg/wiki/) ^ permalink raw reply [flat|nested] 16+ messages in thread
* Re: 2.6.17-mm4 2006-06-29 20:39 ` 2.6.17-mm4 Michal Piotrowski @ 2006-06-29 20:43 ` Dave Jones 2006-06-29 20:46 ` 2.6.17-mm4 Michal Piotrowski 2006-06-29 21:09 ` 2.6.17-mm4 Ingo Molnar 0 siblings, 2 replies; 16+ messages in thread From: Dave Jones @ 2006-06-29 20:43 UTC (permalink / raw) To: Michal Piotrowski; +Cc: Andrew Morton, linux-kernel, netdev On Thu, Jun 29, 2006 at 10:39:33PM +0200, Michal Piotrowski wrote: > This looks very strange. > > BUG: unable to handle kernel paging request at virtual address 6b6b6c07 Looks like a use after free. > printing eip: > c0138594 > *pde=00000000 > Oops: 0002 [#1] > 4K_STACK PREEMPT SMP > last sysfs file /class/net/eth0/address > Modules linked in: ipv6 af_packet ipt_REJECT xt_tcpudp x_tables > p4_clockmod speedstep_lib binfmt_misc > > (gdb) list *0xc0138594 > 0xc0138594 is in __lock_acquire (include2/asm/atomic.h:96). > warning: Source file is more recent than executable. got a backtrace ? Dave -- http://www.codemonkey.org.uk ^ permalink raw reply [flat|nested] 16+ messages in thread
* Re: 2.6.17-mm4 2006-06-29 20:43 ` 2.6.17-mm4 Dave Jones @ 2006-06-29 20:46 ` Michal Piotrowski 2006-06-29 20:49 ` 2.6.17-mm4 Dave Jones 2006-06-29 20:58 ` 2.6.17-mm4 Andrew Morton 2006-06-29 21:09 ` 2.6.17-mm4 Ingo Molnar 1 sibling, 2 replies; 16+ messages in thread From: Michal Piotrowski @ 2006-06-29 20:46 UTC (permalink / raw) To: Dave Jones, Michal Piotrowski, Andrew Morton, linux-kernel, netdev On 29/06/06, Dave Jones <davej@redhat.com> wrote: > On Thu, Jun 29, 2006 at 10:39:33PM +0200, Michal Piotrowski wrote: > > > This looks very strange. > > > > BUG: unable to handle kernel paging request at virtual address 6b6b6c07 > > Looks like a use after free. > > > printing eip: > > c0138594 > > *pde=00000000 > > Oops: 0002 [#1] > > 4K_STACK PREEMPT SMP > > last sysfs file /class/net/eth0/address > > Modules linked in: ipv6 af_packet ipt_REJECT xt_tcpudp x_tables > > p4_clockmod speedstep_lib binfmt_misc > > > > (gdb) list *0xc0138594 > > 0xc0138594 is in __lock_acquire (include2/asm/atomic.h:96). > > warning: Source file is more recent than executable. > > got a backtrace ? Unfortunately no. > > Dave > > -- > http://www.codemonkey.org.uk > Regards, Michal -- Michal K. K. Piotrowski LTG - Linux Testers Group (http://www.stardust.webpages.pl/ltg/wiki/) ^ permalink raw reply [flat|nested] 16+ messages in thread
* Re: 2.6.17-mm4 2006-06-29 20:46 ` 2.6.17-mm4 Michal Piotrowski @ 2006-06-29 20:49 ` Dave Jones 2006-06-29 20:57 ` 2.6.17-mm4 Michal Piotrowski 2006-06-29 20:58 ` 2.6.17-mm4 Andrew Morton 1 sibling, 1 reply; 16+ messages in thread From: Dave Jones @ 2006-06-29 20:49 UTC (permalink / raw) To: Michal Piotrowski; +Cc: Andrew Morton, linux-kernel, netdev On Thu, Jun 29, 2006 at 10:46:24PM +0200, Michal Piotrowski wrote: > On 29/06/06, Dave Jones <davej@redhat.com> wrote: > >On Thu, Jun 29, 2006 at 10:39:33PM +0200, Michal Piotrowski wrote: > > > > > This looks very strange. > > > > > > BUG: unable to handle kernel paging request at virtual address 6b6b6c07 > > > >Looks like a use after free. > > > > > printing eip: > > > c0138594 > > > *pde=00000000 > > > Oops: 0002 [#1] > > > 4K_STACK PREEMPT SMP > > > last sysfs file /class/net/eth0/address > > > Modules linked in: ipv6 af_packet ipt_REJECT xt_tcpudp x_tables > > > p4_clockmod speedstep_lib binfmt_misc > > > > > > (gdb) list *0xc0138594 > > > 0xc0138594 is in __lock_acquire (include2/asm/atomic.h:96). > > > warning: Source file is more recent than executable. > > > >got a backtrace ? > > Unfortunately no. nothing useful from 'bt' from that gdb prompt ? Dave -- http://www.codemonkey.org.uk ^ permalink raw reply [flat|nested] 16+ messages in thread
* Re: 2.6.17-mm4 2006-06-29 20:49 ` 2.6.17-mm4 Dave Jones @ 2006-06-29 20:57 ` Michal Piotrowski 0 siblings, 0 replies; 16+ messages in thread From: Michal Piotrowski @ 2006-06-29 20:57 UTC (permalink / raw) To: Dave Jones, Michal Piotrowski, Andrew Morton, linux-kernel, netdev On 29/06/06, Dave Jones <davej@redhat.com> wrote: > On Thu, Jun 29, 2006 at 10:46:24PM +0200, Michal Piotrowski wrote: > > On 29/06/06, Dave Jones <davej@redhat.com> wrote: > > >On Thu, Jun 29, 2006 at 10:39:33PM +0200, Michal Piotrowski wrote: > > > > > > > This looks very strange. > > > > > > > > BUG: unable to handle kernel paging request at virtual address 6b6b6c07 > > > > > >Looks like a use after free. > > > > > > > printing eip: > > > > c0138594 > > > > *pde=00000000 > > > > Oops: 0002 [#1] > > > > 4K_STACK PREEMPT SMP > > > > last sysfs file /class/net/eth0/address > > > > Modules linked in: ipv6 af_packet ipt_REJECT xt_tcpudp x_tables > > > > p4_clockmod speedstep_lib binfmt_misc > > > > > > > > (gdb) list *0xc0138594 > > > > 0xc0138594 is in __lock_acquire (include2/asm/atomic.h:96). > > > > warning: Source file is more recent than executable. > > > > > >got a backtrace ? > > > > Unfortunately no. > > nothing useful from 'bt' from that gdb prompt ? (gdb) bt No stack. > > Dave > > -- > http://www.codemonkey.org.uk > Regards, Michal -- Michal K. K. Piotrowski LTG - Linux Testers Group (http://www.stardust.webpages.pl/ltg/wiki/) ^ permalink raw reply [flat|nested] 16+ messages in thread
* Re: 2.6.17-mm4 2006-06-29 20:46 ` 2.6.17-mm4 Michal Piotrowski 2006-06-29 20:49 ` 2.6.17-mm4 Dave Jones @ 2006-06-29 20:58 ` Andrew Morton 2006-06-29 21:41 ` 2.6.17-mm4 Michal Piotrowski 1 sibling, 1 reply; 16+ messages in thread From: Andrew Morton @ 2006-06-29 20:58 UTC (permalink / raw) To: Michal Piotrowski; +Cc: davej, michal.k.k.piotrowski, linux-kernel, netdev "Michal Piotrowski" <michal.k.k.piotrowski@gmail.com> wrote: > > On 29/06/06, Dave Jones <davej@redhat.com> wrote: > > On Thu, Jun 29, 2006 at 10:39:33PM +0200, Michal Piotrowski wrote: > > > > > This looks very strange. > > > > > > BUG: unable to handle kernel paging request at virtual address 6b6b6c07 > > > > Looks like a use after free. > > > > > printing eip: > > > c0138594 > > > *pde=00000000 > > > Oops: 0002 [#1] > > > 4K_STACK PREEMPT SMP > > > last sysfs file /class/net/eth0/address > > > Modules linked in: ipv6 af_packet ipt_REJECT xt_tcpudp x_tables > > > p4_clockmod speedstep_lib binfmt_misc > > > > > > (gdb) list *0xc0138594 > > > 0xc0138594 is in __lock_acquire (include2/asm/atomic.h:96). > > > warning: Source file is more recent than executable. > > > > got a backtrace ? > > Unfortunately no. > How irritating. CONFIG_FRAME_POINTER=y # CONFIG_UNWIND_INFO is not set OK. Perhaps try setting 8k stacks? Disable lockdep? ^ permalink raw reply [flat|nested] 16+ messages in thread
* Re: 2.6.17-mm4 2006-06-29 20:58 ` 2.6.17-mm4 Andrew Morton @ 2006-06-29 21:41 ` Michal Piotrowski 0 siblings, 0 replies; 16+ messages in thread From: Michal Piotrowski @ 2006-06-29 21:41 UTC (permalink / raw) To: Andrew Morton; +Cc: davej, linux-kernel, netdev On 29/06/06, Andrew Morton <akpm@osdl.org> wrote: [snip] > OK. Perhaps try setting 8k stacks? > > Disable lockdep? > I don't see that now. I will try to reproduce this with a previous config + Ingo's "Ignore loglevel on printks" patch. Regards, Michal -- Michal K. K. Piotrowski LTG - Linux Testers Group (http://www.stardust.webpages.pl/ltg/wiki/) ^ permalink raw reply [flat|nested] 16+ messages in thread
* Re: 2.6.17-mm4 2006-06-29 20:43 ` 2.6.17-mm4 Dave Jones 2006-06-29 20:46 ` 2.6.17-mm4 Michal Piotrowski @ 2006-06-29 21:09 ` Ingo Molnar 2006-06-29 23:05 ` 2.6.17-mm4 Ingo Molnar 1 sibling, 1 reply; 16+ messages in thread From: Ingo Molnar @ 2006-06-29 21:09 UTC (permalink / raw) To: Dave Jones, Michal Piotrowski, Andrew Morton, linux-kernel, netdev * Dave Jones <davej@redhat.com> wrote: > On Thu, Jun 29, 2006 at 10:39:33PM +0200, Michal Piotrowski wrote: > > > This looks very strange. > > > > BUG: unable to handle kernel paging request at virtual address 6b6b6c07 > > Looks like a use after free. i'm too hunting use-after-free bugs - the ones fixed below fix certain crashes, but i'm still seeing a nasty one. the crash is independent on lockdep enabled or disabled. See: http://redhat.com/~mingo/misc/ for the config and the crash.log. Ingo ----------------- Subject: fix platform_device_put/del mishaps From: Ingo Molnar <mingo@elte.hu> this fixes drivers/char/pc8736x_gpio.c and drivers/char/scx200_gpio.c to use the platform_device_del/put ops correctly. Signed-off-by: Ingo Molnar <mingo@elte.hu> --- drivers/char/pc8736x_gpio.c | 5 +++-- drivers/char/scx200_gpio.c | 6 +++--- 2 files changed, 6 insertions(+), 5 deletions(-) Index: linux/drivers/char/pc8736x_gpio.c =================================================================== --- linux.orig/drivers/char/pc8736x_gpio.c +++ linux/drivers/char/pc8736x_gpio.c @@ -319,9 +319,10 @@ static int __init pc8736x_gpio_init(void return 0; undo_platform_dev_add: - platform_device_put(pdev); + platform_device_del(pdev); undo_platform_dev_alloc: - kfree(pdev); + platform_device_put(pdev); + return rc; } Index: linux/drivers/char/scx200_gpio.c =================================================================== --- linux.orig/drivers/char/scx200_gpio.c +++ linux/drivers/char/scx200_gpio.c @@ -126,9 +126,10 @@ static int __init scx200_gpio_init(void) undo_chrdev_region: unregister_chrdev_region(dev, num_pins); undo_platform_device_add: - platform_device_put(pdev); + platform_device_del(pdev); undo_malloc: - kfree(pdev); + platform_device_put(pdev); + return rc; } @@ -136,7 +137,6 @@ static void __exit scx200_gpio_cleanup(v { kfree(scx200_devices); unregister_chrdev_region(MKDEV(major, 0), num_pins); - platform_device_put(pdev); platform_device_unregister(pdev); /* kfree(pdev); */ } ^ permalink raw reply [flat|nested] 16+ messages in thread
* Re: 2.6.17-mm4 2006-06-29 21:09 ` 2.6.17-mm4 Ingo Molnar @ 2006-06-29 23:05 ` Ingo Molnar 2006-06-30 10:07 ` 2.6.17-mm4 Alan Cox 0 siblings, 1 reply; 16+ messages in thread From: Ingo Molnar @ 2006-06-29 23:05 UTC (permalink / raw) To: Dave Jones, Michal Piotrowski, Andrew Morton, linux-kernel, netdev; +Cc: Alan Cox * Ingo Molnar <mingo@elte.hu> wrote: > i'm too hunting use-after-free bugs - the ones fixed below fix certain > crashes, but i'm still seeing a nasty one. > > the crash is independent on lockdep enabled or disabled. See: > > http://redhat.com/~mingo/misc/ > > for the config and the crash.log. ok, managed to debug the reason for this crash via .config bisecting, it's caused by: CONFIG_SCSI_PATA_QDI=y which is a new option in -mm4. Disabling it makes the -mm4 allyesconfig bzImage work again. and running qdi_init() either causes memory corruption, or it causes something to be misprogrammed on the motherboard (something wrt. irq routing perhaps), which crashes the box afterwards. (but that happens dozens of initcalls later, so the breakage is subtle) it does things like: static const unsigned long qd_port[2] = { 0x30, 0xB0 }; static const unsigned long ide_port[2] = { 0x170, 0x1F0 }; [...] unsigned long port = qd_port[i]; [...] r = inb_p(port); outb_p(0x19, port); res = inb_p(port); outb_p(r, port); so it reads/writes port 0x30 and 0xb0. Are those used by something else on modern hardware? i know, i shouldnt be running an ancient Vesa Local Bus driver's init routine, but still, the allyesconfig bzImage is quite useful in finding various bugs ... Ingo ^ permalink raw reply [flat|nested] 16+ messages in thread
* Re: 2.6.17-mm4 2006-06-29 23:05 ` 2.6.17-mm4 Ingo Molnar @ 2006-06-30 10:07 ` Alan Cox 2006-06-30 9:50 ` 2.6.17-mm4 Ingo Molnar 2006-06-30 9:54 ` 2.6.17-mm4 Arjan van de Ven 0 siblings, 2 replies; 16+ messages in thread From: Alan Cox @ 2006-06-30 10:07 UTC (permalink / raw) To: Ingo Molnar Cc: Dave Jones, Michal Piotrowski, Andrew Morton, linux-kernel, netdev Ar Gwe, 2006-06-30 am 01:05 +0200, ysgrifennodd Ingo Molnar: > it does things like: > > static const unsigned long qd_port[2] = { 0x30, 0xB0 }; > static const unsigned long ide_port[2] = { 0x170, 0x1F0 }; > > [...] > unsigned long port = qd_port[i]; > [...] > r = inb_p(port); > outb_p(0x19, port); > res = inb_p(port); > outb_p(r, port); > > so it reads/writes port 0x30 and 0xb0. Are those used by something else > on modern hardware? Not especially. Perhaps the best thing to do here would be to make qdi compiled into the kernel (as opposed to modular) only do so if "probe_qdi=1" or similar is set. Will sort that out if nobody beats me to it. Alan ^ permalink raw reply [flat|nested] 16+ messages in thread
* Re: 2.6.17-mm4 2006-06-30 10:07 ` 2.6.17-mm4 Alan Cox @ 2006-06-30 9:50 ` Ingo Molnar 2006-06-30 9:54 ` 2.6.17-mm4 Arjan van de Ven 1 sibling, 0 replies; 16+ messages in thread From: Ingo Molnar @ 2006-06-30 9:50 UTC (permalink / raw) To: Alan Cox; +Cc: Dave Jones, Michal Piotrowski, Andrew Morton, linux-kernel, netdev * Alan Cox <alan@lxorguk.ukuu.org.uk> wrote: > Ar Gwe, 2006-06-30 am 01:05 +0200, ysgrifennodd Ingo Molnar: > > it does things like: > > > > static const unsigned long qd_port[2] = { 0x30, 0xB0 }; > > static const unsigned long ide_port[2] = { 0x170, 0x1F0 }; > > > > [...] > > unsigned long port = qd_port[i]; > > [...] > > r = inb_p(port); > > outb_p(0x19, port); > > res = inb_p(port); > > outb_p(r, port); > > > > so it reads/writes port 0x30 and 0xb0. Are those used by something else > > on modern hardware? > > Not especially. Perhaps the best thing to do here would be to make qdi > compiled into the kernel (as opposed to modular) only do so if > "probe_qdi=1" or similar is set. ok. Is that the standard way of dealing with potentially intrusive probes? Ingo ^ permalink raw reply [flat|nested] 16+ messages in thread
* Re: 2.6.17-mm4 2006-06-30 10:07 ` 2.6.17-mm4 Alan Cox 2006-06-30 9:50 ` 2.6.17-mm4 Ingo Molnar @ 2006-06-30 9:54 ` Arjan van de Ven 2006-06-30 11:01 ` 2.6.17-mm4 Andreas Mohr 2006-06-30 12:14 ` 2.6.17-mm4 Alan Cox 1 sibling, 2 replies; 16+ messages in thread From: Arjan van de Ven @ 2006-06-30 9:54 UTC (permalink / raw) To: Alan Cox Cc: Ingo Molnar, Dave Jones, Michal Piotrowski, Andrew Morton, linux-kernel, netdev On Fri, 2006-06-30 at 11:07 +0100, Alan Cox wrote: > Ar Gwe, 2006-06-30 am 01:05 +0200, ysgrifennodd Ingo Molnar: > > it does things like: > > > > static const unsigned long qd_port[2] = { 0x30, 0xB0 }; > > static const unsigned long ide_port[2] = { 0x170, 0x1F0 }; > > > > [...] > > unsigned long port = qd_port[i]; > > [...] > > r = inb_p(port); > > outb_p(0x19, port); > > res = inb_p(port); > > outb_p(r, port); > > > > so it reads/writes port 0x30 and 0xb0. Are those used by something else > > on modern hardware? > > Not especially. Perhaps the best thing to do here would be to make qdi > compiled into the kernel (as opposed to modular) only do so if > "probe_qdi=1" or similar is set. another quick hack is to check for vesa lb... eg if pci is present, skip this thing entirely :) ^ permalink raw reply [flat|nested] 16+ messages in thread
* Re: 2.6.17-mm4 2006-06-30 9:54 ` 2.6.17-mm4 Arjan van de Ven @ 2006-06-30 11:01 ` Andreas Mohr 2006-06-30 12:14 ` 2.6.17-mm4 Alan Cox 1 sibling, 0 replies; 16+ messages in thread From: Andreas Mohr @ 2006-06-30 11:01 UTC (permalink / raw) To: Arjan van de Ven Cc: Alan Cox, Ingo Molnar, Dave Jones, Michal Piotrowski, Andrew Morton, linux-kernel, netdev Hi, On Fri, Jun 30, 2006 at 11:54:02AM +0200, Arjan van de Ven wrote: > On Fri, 2006-06-30 at 11:07 +0100, Alan Cox wrote: > > Not especially. Perhaps the best thing to do here would be to make qdi > > compiled into the kernel (as opposed to modular) only do so if > > "probe_qdi=1" or similar is set. > > another quick hack is to check for vesa lb... eg if pci is present, skip > this thing entirely :) Eh? You haven't really heard of those quite popular ISA/VLB/PCI 486 combo boards, now have you? ;) (IIRC I had one of those things a looooong time ago) Andreas Mohr ^ permalink raw reply [flat|nested] 16+ messages in thread
* Re: 2.6.17-mm4 2006-06-30 9:54 ` 2.6.17-mm4 Arjan van de Ven 2006-06-30 11:01 ` 2.6.17-mm4 Andreas Mohr @ 2006-06-30 12:14 ` Alan Cox 2006-06-30 17:27 ` 2.6.17-mm4 Dave Jones 1 sibling, 1 reply; 16+ messages in thread From: Alan Cox @ 2006-06-30 12:14 UTC (permalink / raw) To: Arjan van de Ven Cc: Ingo Molnar, Dave Jones, Michal Piotrowski, Andrew Morton, linux-kernel, netdev Ar Gwe, 2006-06-30 am 11:54 +0200, ysgrifennodd Arjan van de Ven: > another quick hack is to check for vesa lb... eg if pci is present, skip > this thing entirely :) Not really, many people made VLB/PCI combo boards. Alan ^ permalink raw reply [flat|nested] 16+ messages in thread
* Re: 2.6.17-mm4 2006-06-30 12:14 ` 2.6.17-mm4 Alan Cox @ 2006-06-30 17:27 ` Dave Jones 2006-06-30 17:52 ` 2.6.17-mm4 Alan Cox 0 siblings, 1 reply; 16+ messages in thread From: Dave Jones @ 2006-06-30 17:27 UTC (permalink / raw) To: Alan Cox Cc: Arjan van de Ven, Ingo Molnar, Michal Piotrowski, Andrew Morton, linux-kernel, netdev On Fri, Jun 30, 2006 at 01:14:30PM +0100, Alan Cox wrote: > Ar Gwe, 2006-06-30 am 11:54 +0200, ysgrifennodd Arjan van de Ven: > > another quick hack is to check for vesa lb... eg if pci is present, skip > > this thing entirely :) > > Not really, many people made VLB/PCI combo boards. - check the pci version (I'm pretty sure these were pre PCI 2.0 ?) - check for dmi existance DMI came after VLB didn't it? Even if not, the BIOS date may give clues. I don't recall VLB after 1996 or so. - check for acpi existance. surely no-one made an acpi aware vlb machine :) There are probably other creative ways. Dave -- http://www.codemonkey.org.uk ^ permalink raw reply [flat|nested] 16+ messages in thread
* Re: 2.6.17-mm4 2006-06-30 17:27 ` 2.6.17-mm4 Dave Jones @ 2006-06-30 17:52 ` Alan Cox 0 siblings, 0 replies; 16+ messages in thread From: Alan Cox @ 2006-06-30 17:52 UTC (permalink / raw) To: Dave Jones Cc: Arjan van de Ven, Ingo Molnar, Michal Piotrowski, Andrew Morton, linux-kernel, netdev Ar Gwe, 2006-06-30 am 13:27 -0400, ysgrifennodd Dave Jones: > surely no-one made an acpi aware vlb machine :) > > There are probably other creative ways. And the not-so-creative simple one which is how old IDE addresses much of this: Date: Fri Jun 30 16:39:20 2006 +0100 Subject: [PATCH 13/20] My name is Ingo Molnar, you killed my make allyesconfig, prepare to die Teach the qdi driver to be more polite about probing when compiled in so that people who make allyesconfig don't get burned. Alan Signed-off-by: Alan Cox <alan@redhat.com> --- drivers/scsi/pata_qdi.c | 15 +++++++++++++-- 1 files changed, 13 insertions(+), 2 deletions(-) 12b633d45a8600147314c2ce33b28f92f52c92bd diff --git a/drivers/scsi/pata_qdi.c b/drivers/scsi/pata_qdi.c index ca6fef0..f8fc0ef 100644 --- a/drivers/scsi/pata_qdi.c +++ b/drivers/scsi/pata_qdi.c @@ -26,7 +26,7 @@ #include <linux/platform_device.h> #define DRV_NAME "pata_qdi" -#define DRV_VERSION "0.2.3" +#define DRV_VERSION "0.2.4" #define NR_HOST 4 /* Two 6580s */ @@ -41,7 +41,13 @@ struct qdi_data { static struct ata_host_set *qdi_host[NR_HOST]; static struct qdi_data qdi_data[NR_HOST]; -static int nr_qdi_host = 0; +static int nr_qdi_host; + +#ifdef MODULE +static int probe_qdi = 1; +#else +static int probe_qdi; +#endif static void qdi6500_set_piomode(struct ata_port *ap, struct ata_device *adev) { @@ -302,6 +308,9 @@ static __init int qdi_init(void) int ct = 0; int i; + if (probe_qdi == 0) + return; + /* * Check each possible QD65xx base address */ @@ -390,3 +399,5 @@ MODULE_VERSION(DRV_VERSION); module_init(qdi_init); module_exit(qdi_exit); +module_param(probe_qdi, int, 0); + -- 1.2.GIT ^ permalink raw reply related [flat|nested] 16+ messages in thread
end of thread, other threads:[~2006-06-30 17:36 UTC | newest]
Thread overview: 16+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
[not found] <20060629013643.4b47e8bd.akpm@osdl.org>
2006-06-29 20:39 ` 2.6.17-mm4 Michal Piotrowski
2006-06-29 20:43 ` 2.6.17-mm4 Dave Jones
2006-06-29 20:46 ` 2.6.17-mm4 Michal Piotrowski
2006-06-29 20:49 ` 2.6.17-mm4 Dave Jones
2006-06-29 20:57 ` 2.6.17-mm4 Michal Piotrowski
2006-06-29 20:58 ` 2.6.17-mm4 Andrew Morton
2006-06-29 21:41 ` 2.6.17-mm4 Michal Piotrowski
2006-06-29 21:09 ` 2.6.17-mm4 Ingo Molnar
2006-06-29 23:05 ` 2.6.17-mm4 Ingo Molnar
2006-06-30 10:07 ` 2.6.17-mm4 Alan Cox
2006-06-30 9:50 ` 2.6.17-mm4 Ingo Molnar
2006-06-30 9:54 ` 2.6.17-mm4 Arjan van de Ven
2006-06-30 11:01 ` 2.6.17-mm4 Andreas Mohr
2006-06-30 12:14 ` 2.6.17-mm4 Alan Cox
2006-06-30 17:27 ` 2.6.17-mm4 Dave Jones
2006-06-30 17:52 ` 2.6.17-mm4 Alan Cox
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).