All of lore.kernel.org
 help / color / mirror / Atom feed
* [BUG/WARN] Error initialising drivers in PCI
@ 2007-02-18 19:53 Ian McDonald
  2007-02-18 20:58 ` Bartlomiej Zolnierkiewicz
  0 siblings, 1 reply; 6+ messages in thread
From: Ian McDonald @ 2007-02-18 19:53 UTC (permalink / raw)
  To: gregkh, Linux Kernel Mailing List

[-- Attachment #1: Type: text/plain, Size: 4210 bytes --]

I'm getting this in my logs when starting up after going from a
2.6.20rc5 kernel (which didn't do this) to Linus' latest tree as of 36
hours ago:

Feb 18 14:52:32 localhost kernel: [   16.392136] Uniform
Multi-Platform E-IDE driver Revision: 7.00alpha2
Feb 18 14:52:32 localhost kernel: [   16.392210] ide: Assuming 33MHz
system bus speed for PIO modes; override with idebus=xx
Feb 18 14:52:32 localhost kernel: [   16.395039] Probing IDE interface ide0...
Feb 18 14:52:32 localhost kernel: [   16.780057] hda: ST315310A, ATA DISK drive
Feb 18 14:52:32 localhost kernel: [   17.391365] Probing IDE interface ide1...
Feb 18 14:52:32 localhost kernel: [   18.184752] hdc: LTN485, ATAPI
CD/DVD-ROM drive
Feb 18 14:52:32 localhost kernel: [   18.490570] ide0 at
0x1f0-0x1f7,0x3f6 on irq 14
Feb 18 14:52:32 localhost kernel: [   18.490978] ide1 at
0x170-0x177,0x376 on irq 15
Feb 18 14:52:32 localhost kernel: [   18.493214] hda: max request size: 128KiB
Feb 18 14:52:32 localhost kernel: [   18.493735] hda: 29336832 sectors
(15020 MB) w/2048KiB Cache, CHS=29104/16/63
Feb 18 14:52:32 localhost kernel: [   18.493899] hda: cache flushes
not supported
Feb 18 14:52:32 localhost kernel: [   18.494530]  hda: hda1 hda2 < hda5 >
Feb 18 14:52:32 localhost kernel: [   18.536466] ata_piix
0000:00:1f.1: version 2.00ac7
Feb 18 14:52:32 localhost kernel: [   18.536579] ata: 0x1F0 IDE port busy
Feb 18 14:52:32 localhost kernel: [   18.536583] ata: conflict with ide0
Feb 18 14:52:32 localhost kernel: [   18.536719] BUG: at
drivers/pci/pci.c:840 pcim_pin_device()
Feb 18 14:52:32 localhost kernel: [   18.536786]  [<c0104e91>]
show_trace_log_lvl+0x1a/0x2f
Feb 18 14:52:32 localhost kernel: [   18.536897]  [<c01054d1>]
show_trace+0x12/0x14
Feb 18 14:52:32 localhost kernel: [   18.536991]  [<c0105583>]
dump_stack+0x16/0x18
Feb 18 14:52:32 localhost kernel: [   18.537085]  [<c01d1c45>]
pcim_pin_device+0x40/0x4d
Feb 18 14:52:32 localhost kernel: [   18.537201]  [<c024822f>]
ata_pci_init_one+0x1ac/0x4bb
Feb 18 14:52:32 localhost kernel: [   18.537330]  [<c024ce7d>]
piix_init_one+0x418/0x435
Feb 18 14:52:32 localhost kernel: [   18.537431]  [<c01d424d>]
pci_device_probe+0x39/0x5b
Feb 18 14:52:32 localhost kernel: [   18.537528]  [<c021c82f>]
really_probe+0xbd/0x145
Feb 18 14:52:32 localhost kernel: [   18.537638]  [<c021c94c>]
driver_probe_device+0x95/0xa1
Feb 18 14:52:32 localhost kernel: [   18.537734]  [<c021ca61>]
__driver_attach+0x6a/0xa1
Feb 18 14:52:32 localhost kernel: [   18.537829]  [<c021be19>]
bus_for_each_dev+0x36/0x5b
Feb 18 14:52:32 localhost kernel: [   18.537925]  [<c021c6a3>]
driver_attach+0x19/0x1b
Feb 18 14:52:32 localhost kernel: [   18.538019]  [<c021c109>]
bus_add_driver+0x6a/0x170
Feb 18 14:52:32 localhost kernel: [   18.538114]  [<c021cc6c>]
driver_register+0x79/0x7e
Feb 18 14:52:32 localhost kernel: [   18.538209]  [<c01d43ca>]
__pci_register_driver+0x7b/0xa8
Feb 18 14:52:32 localhost kernel: [   18.538381]  [<c04280d6>]
piix_init+0x14/0x27
Feb 18 14:52:32 localhost kernel: [   18.538496]  [<c040f708>] init+0x95/0x17a
Feb 18 14:52:32 localhost kernel: [   18.538597]  [<c0104b13>]
kernel_thread_helper+0x7/0x10
Feb 18 14:52:32 localhost kernel: [   18.538693]  =======================
Feb 18 14:52:32 localhost kernel: [   18.538752] ata: 0x170 IDE port busy
Feb 18 14:52:32 localhost kernel: [   18.538756] ata: conflict with ide1
Feb 18 14:52:32 localhost kernel: [   18.538905] ata_piix: probe of
0000:00:1f.1 failed with error -16

Kernel is standard tree with no modifications.

Relevant code which triggers this from devices/pci/pci.c is:
void pcim_pin_device(struct pci_dev *pdev)
{
	struct pci_devres *dr;

	dr = find_pci_dr(pdev);
	WARN_ON(!dr || !dr->disable);
	if (dr)
		dr->disable = 0;
}

and it is the WARN_ON that is the line.

.config of kernel is attached.
output of lspci -vv is attached.

Can you please cc me on any discussions/requests as not subscribed to lkml.

NB Machine continues with boot and can run after this. Machine is a
little unstable though but could also be Broadcom 4306 issues as not
sure these drivers are yet stable on my machine...

Ian
-- 
Web: http://wand.net.nz/~iam4
Blog: http://iansblog.jandi.co.nz
WAND Network Research Group

[-- Attachment #2: config.gz --]
[-- Type: application/x-gzip, Size: 12579 bytes --]

[-- Attachment #3: lspci.txt --]
[-- Type: text/plain, Size: 4461 bytes --]

00:00.0 Host bridge: Intel Corporation 82815 815 Chipset Host Bridge and Memory Controller Hub (rev 02)
	Control: I/O- Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR+ FastB2B-
	Status: Cap+ 66MHz- UDF- FastB2B+ ParErr- DEVSEL=fast >TAbort- <TAbort- <MAbort+ >SERR- <PERR-
	Latency: 0
	Capabilities: <access denied>

00:02.0 VGA compatible controller: Intel Corporation 82815 CGC [Chipset Graphics Controller] (rev 02) (prog-if 00 [VGA])
	Subsystem: Compaq Computer Corporation Unknown device 0019
	Control: I/O+ Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR- FastB2B-
	Status: Cap+ 66MHz+ UDF- FastB2B+ ParErr- DEVSEL=medium >TAbort- <TAbort- <MAbort- >SERR- <PERR-
	Latency: 0
	Interrupt: pin A routed to IRQ 5
	Region 0: Memory at 44000000 (32-bit, prefetchable) [size=64M]
	Region 1: Memory at 40400000 (32-bit, non-prefetchable) [size=512K]
	Capabilities: <access denied>

00:1e.0 PCI bridge: Intel Corporation 82801 PCI Bridge (rev 01) (prog-if 00 [Normal decode])
	Control: I/O+ Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR+ FastB2B-
	Status: Cap- 66MHz- UDF- FastB2B+ ParErr- DEVSEL=fast >TAbort- <TAbort- <MAbort- >SERR- <PERR-
	Latency: 0
	Bus: primary=00, secondary=02, subordinate=02, sec-latency=64
	I/O behind bridge: 00001000-00001fff
	Memory behind bridge: 40000000-403fffff
	Secondary status: 66MHz- FastB2B+ ParErr- DEVSEL=medium >TAbort- <TAbort- <MAbort+ <SERR- <PERR-
	BridgeCtl: Parity- SERR+ NoISA+ VGA- MAbort- >Reset- FastB2B-

00:1f.0 ISA bridge: Intel Corporation 82801BA ISA Bridge (LPC) (rev 01)
	Control: I/O+ Mem+ BusMaster+ SpecCycle+ MemWINV- VGASnoop- ParErr- Stepping- SERR+ FastB2B-
	Status: Cap- 66MHz- UDF- FastB2B+ ParErr- DEVSEL=medium >TAbort- <TAbort- <MAbort- >SERR- <PERR-
	Latency: 0

00:1f.1 IDE interface: Intel Corporation 82801BA IDE U100 (rev 01) (prog-if 80 [Master])
	Subsystem: Intel Corporation Unknown device 2411
	Control: I/O+ Mem- BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR- FastB2B-
	Status: Cap- 66MHz- UDF- FastB2B+ ParErr- DEVSEL=medium >TAbort- <TAbort- <MAbort- >SERR- <PERR-
	Latency: 0
	Region 0: [virtual] Memory at 000001f0 (32-bit, non-prefetchable) [disabled] [size=8]
	Region 1: [virtual] Memory at 000003f0 (type 3, non-prefetchable) [disabled] [size=1]
	Region 2: [virtual] Memory at 00000170 (32-bit, non-prefetchable) [disabled] [size=8]
	Region 3: [virtual] Memory at 00000370 (type 3, non-prefetchable) [disabled] [size=1]
	Region 4: I/O ports at 2460 [size=16]

00:1f.4 USB Controller: Intel Corporation 82801BA/BAM USB (Hub #2) (rev 01) (prog-if 00 [UHCI])
	Subsystem: Intel Corporation Unknown device 2411
	Control: I/O+ Mem- BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR- FastB2B-
	Status: Cap- 66MHz- UDF- FastB2B+ ParErr- DEVSEL=medium >TAbort- <TAbort- <MAbort- >SERR- <PERR-
	Latency: 0
	Interrupt: pin C routed to IRQ 16
	Region 4: I/O ports at 2440 [size=32]

00:1f.5 Multimedia audio controller: Intel Corporation 82801BA/BAM AC'97 Audio (rev 01)
	Subsystem: Compaq Computer Corporation Compaq Deskpro EN Audio
	Control: I/O+ Mem- BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR- FastB2B-
	Status: Cap- 66MHz- UDF- FastB2B+ ParErr- DEVSEL=medium >TAbort- <TAbort- <MAbort- >SERR- <PERR-
	Latency: 0
	Interrupt: pin B routed to IRQ 19
	Region 0: I/O ports at 2000 [size=256]
	Region 1: I/O ports at 2400 [size=64]

02:04.0 Network controller: Broadcom Corporation BCM4306 802.11b/g Wireless LAN Controller (rev 03)
	Subsystem: Linksys Unknown device 0013
	Control: I/O- Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR+ FastB2B-
	Status: Cap- 66MHz- UDF- FastB2B- ParErr- DEVSEL=fast >TAbort- <TAbort- <MAbort- >SERR- <PERR-
	Latency: 66
	Interrupt: pin A routed to IRQ 18
	Region 0: Memory at 40000000 (32-bit, non-prefetchable) [size=8K]

02:08.0 Ethernet controller: Intel Corporation 82801BA/BAM/CA/CAM Ethernet Controller (rev 01)
	Subsystem: Compaq Computer Corporation EtherExpress PRO/100 VM
	Control: I/O+ Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR+ FastB2B-
	Status: Cap+ 66MHz- UDF- FastB2B+ ParErr- DEVSEL=medium >TAbort- <TAbort- <MAbort- >SERR- <PERR-
	Latency: 66 (2000ns min, 14000ns max), Cache Line Size: 32 bytes
	Interrupt: pin A routed to IRQ 17
	Region 0: Memory at 40100000 (32-bit, non-prefetchable) [size=4K]
	Region 1: I/O ports at 1000 [size=64]
	Capabilities: <access denied>


^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: [BUG/WARN] Error initialising drivers in PCI
  2007-02-18 19:53 [BUG/WARN] Error initialising drivers in PCI Ian McDonald
@ 2007-02-18 20:58 ` Bartlomiej Zolnierkiewicz
  2007-02-19  4:00   ` Ian McDonald
  0 siblings, 1 reply; 6+ messages in thread
From: Bartlomiej Zolnierkiewicz @ 2007-02-18 20:58 UTC (permalink / raw)
  To: Ian McDonald; +Cc: gregkh, Linux Kernel Mailing List, Tejun Heo


On Sunday 18 February 2007 20:53, Ian McDonald wrote:
> I'm getting this in my logs when starting up after going from a
> 2.6.20rc5 kernel (which didn't do this) to Linus' latest tree as of 36
> hours ago:
> 
> Feb 18 14:52:32 localhost kernel: [   16.392136] Uniform
> Multi-Platform E-IDE driver Revision: 7.00alpha2
> Feb 18 14:52:32 localhost kernel: [   16.392210] ide: Assuming 33MHz
> system bus speed for PIO modes; override with idebus=xx
> Feb 18 14:52:32 localhost kernel: [   16.395039] Probing IDE interface ide0...
> Feb 18 14:52:32 localhost kernel: [   16.780057] hda: ST315310A, ATA DISK drive
> Feb 18 14:52:32 localhost kernel: [   17.391365] Probing IDE interface ide1...
> Feb 18 14:52:32 localhost kernel: [   18.184752] hdc: LTN485, ATAPI
> CD/DVD-ROM drive
> Feb 18 14:52:32 localhost kernel: [   18.490570] ide0 at
> 0x1f0-0x1f7,0x3f6 on irq 14
> Feb 18 14:52:32 localhost kernel: [   18.490978] ide1 at
> 0x170-0x177,0x376 on irq 15
> Feb 18 14:52:32 localhost kernel: [   18.493214] hda: max request size: 128KiB
> Feb 18 14:52:32 localhost kernel: [   18.493735] hda: 29336832 sectors
> (15020 MB) w/2048KiB Cache, CHS=29104/16/63
> Feb 18 14:52:32 localhost kernel: [   18.493899] hda: cache flushes
> not supported
> Feb 18 14:52:32 localhost kernel: [   18.494530]  hda: hda1 hda2 < hda5 >
> Feb 18 14:52:32 localhost kernel: [   18.536466] ata_piix
> 0000:00:1f.1: version 2.00ac7
> Feb 18 14:52:32 localhost kernel: [   18.536579] ata: 0x1F0 IDE port busy
> Feb 18 14:52:32 localhost kernel: [   18.536583] ata: conflict with ide0
> Feb 18 14:52:32 localhost kernel: [   18.536719] BUG: at
> drivers/pci/pci.c:840 pcim_pin_device()
> Feb 18 14:52:32 localhost kernel: [   18.536786]  [<c0104e91>]
> show_trace_log_lvl+0x1a/0x2f
> Feb 18 14:52:32 localhost kernel: [   18.536897]  [<c01054d1>]
> show_trace+0x12/0x14
> Feb 18 14:52:32 localhost kernel: [   18.536991]  [<c0105583>]
> dump_stack+0x16/0x18
> Feb 18 14:52:32 localhost kernel: [   18.537085]  [<c01d1c45>]
> pcim_pin_device+0x40/0x4d
> Feb 18 14:52:32 localhost kernel: [   18.537201]  [<c024822f>]
> ata_pci_init_one+0x1ac/0x4bb
> Feb 18 14:52:32 localhost kernel: [   18.537330]  [<c024ce7d>]
> piix_init_one+0x418/0x435
> Feb 18 14:52:32 localhost kernel: [   18.537431]  [<c01d424d>]
> pci_device_probe+0x39/0x5b
> Feb 18 14:52:32 localhost kernel: [   18.537528]  [<c021c82f>]
> really_probe+0xbd/0x145
> Feb 18 14:52:32 localhost kernel: [   18.537638]  [<c021c94c>]
> driver_probe_device+0x95/0xa1
> Feb 18 14:52:32 localhost kernel: [   18.537734]  [<c021ca61>]
> __driver_attach+0x6a/0xa1
> Feb 18 14:52:32 localhost kernel: [   18.537829]  [<c021be19>]
> bus_for_each_dev+0x36/0x5b
> Feb 18 14:52:32 localhost kernel: [   18.537925]  [<c021c6a3>]
> driver_attach+0x19/0x1b
> Feb 18 14:52:32 localhost kernel: [   18.538019]  [<c021c109>]
> bus_add_driver+0x6a/0x170
> Feb 18 14:52:32 localhost kernel: [   18.538114]  [<c021cc6c>]
> driver_register+0x79/0x7e
> Feb 18 14:52:32 localhost kernel: [   18.538209]  [<c01d43ca>]
> __pci_register_driver+0x7b/0xa8
> Feb 18 14:52:32 localhost kernel: [   18.538381]  [<c04280d6>]
> piix_init+0x14/0x27
> Feb 18 14:52:32 localhost kernel: [   18.538496]  [<c040f708>] init+0x95/0x17a
> Feb 18 14:52:32 localhost kernel: [   18.538597]  [<c0104b13>]
> kernel_thread_helper+0x7/0x10
> Feb 18 14:52:32 localhost kernel: [   18.538693]  =======================
> Feb 18 14:52:32 localhost kernel: [   18.538752] ata: 0x170 IDE port busy
> Feb 18 14:52:32 localhost kernel: [   18.538756] ata: conflict with ide1
> Feb 18 14:52:32 localhost kernel: [   18.538905] ata_piix: probe of
> 0000:00:1f.1 failed with error -16

Tejun, it seems that resources hacks and devres changes don't mix well.

> Kernel is standard tree with no modifications.
> 
> Relevant code which triggers this from devices/pci/pci.c is:
> void pcim_pin_device(struct pci_dev *pdev)
> {
> 	struct pci_devres *dr;
> 
> 	dr = find_pci_dr(pdev);
> 	WARN_ON(!dr || !dr->disable);
> 	if (dr)
> 		dr->disable = 0;
> }
> 
> and it is the WARN_ON that is the line.
> 
> .config of kernel is attached.
> output of lspci -vv is attached.

Ian, you have an PATA controller so there is no need to use ata_piix.
Just disabling ata_piix should workaround the issue.

> Can you please cc me on any discussions/requests as not subscribed to lkml.
> 
> NB Machine continues with boot and can run after this. Machine is a
> little unstable though but could also be Broadcom 4306 issues as not
> sure these drivers are yet stable on my machine...
> 
> Ian
> -- 
> Web: http://wand.net.nz/~iam4
> Blog: http://iansblog.jandi.co.nz
> WAND Network Research Group

^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: [BUG/WARN] Error initialising drivers in PCI
  2007-02-18 20:58 ` Bartlomiej Zolnierkiewicz
@ 2007-02-19  4:00   ` Ian McDonald
  2007-02-19 11:47     ` Bartlomiej Zolnierkiewicz
  0 siblings, 1 reply; 6+ messages in thread
From: Ian McDonald @ 2007-02-19  4:00 UTC (permalink / raw)
  To: Bartlomiej Zolnierkiewicz; +Cc: gregkh, Linux Kernel Mailing List, Tejun Heo

On 2/19/07, Bartlomiej Zolnierkiewicz <bzolnier@gmail.com> wrote:
> Ian, you have an PATA controller so there is no need to use ata_piix.
> Just disabling ata_piix should workaround the issue.
>
OK. I have done this and the message goes away in boot logs. As you
say I don't need the old drivers anymore.

If you want me to test any fixes so both can coexist without throwing
a warning then just drop me a line.

Ian
-- 
Web: http://wand.net.nz/~iam4
Blog: http://iansblog.jandi.co.nz
WAND Network Research Group

^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: [BUG/WARN] Error initialising drivers in PCI
  2007-02-19  4:00   ` Ian McDonald
@ 2007-02-19 11:47     ` Bartlomiej Zolnierkiewicz
  2007-02-20  8:28       ` [PATCH] pci: allow multiple calls to pcim_pin_device() Tejun Heo
  0 siblings, 1 reply; 6+ messages in thread
From: Bartlomiej Zolnierkiewicz @ 2007-02-19 11:47 UTC (permalink / raw)
  To: Ian McDonald; +Cc: gregkh, Linux Kernel Mailing List, Tejun Heo, Jeff Garzik


On Monday 19 February 2007 05:00, Ian McDonald wrote:
> On 2/19/07, Bartlomiej Zolnierkiewicz <bzolnier@gmail.com> wrote:
> > Ian, you have an PATA controller so there is no need to use ata_piix.
> > Just disabling ata_piix should workaround the issue.
> >
> OK. I have done this and the message goes away in boot logs. As you
> say I don't need the old drivers anymore.

No, I said that you don't need the new drivers anymore as the warning
is caused by libata using resource hacks. 8)

Anyway both drivers (old and new) work fine, just mixing them have issues.

> If you want me to test any fixes so both can coexist without throwing
> a warning then just drop me a line.

Tejun, this needs to be fixed unless Jeff pushes resources hack
removal patch(es) before 2.6.21 (then it will fix by itself).

Thanks,
Bart

^ permalink raw reply	[flat|nested] 6+ messages in thread

* [PATCH] pci: allow multiple calls to pcim_pin_device()
  2007-02-19 11:47     ` Bartlomiej Zolnierkiewicz
@ 2007-02-20  8:28       ` Tejun Heo
  2007-02-20 21:45         ` Ian McDonald
  0 siblings, 1 reply; 6+ messages in thread
From: Tejun Heo @ 2007-02-20  8:28 UTC (permalink / raw)
  To: Bartlomiej Zolnierkiewicz
  Cc: Ian McDonald, gregkh, Linux Kernel Mailing List, Jeff Garzik

Sanity check in pcim_pin_device() was too restrictive in that it
didn't allow multiple calls to the function, which is against the
devres philosohpy of fire-and-forget.  Track pinned status separately
and allow pinning multiple times.

Signed-off-by: Tejun Heo <htejun@gmail.com>
---
It was an actual bug in pcim_pin_device() implementation.  Thanks for
spotting this.  :-)

Ian McDonald, please verify your warning goes away with this patch.

Greg, please forward this patch upstream once Ian acks it.

Thanks.

diff --git a/drivers/pci/pci.c b/drivers/pci/pci.c
index 8b44cff..a1927ea 100644
--- a/drivers/pci/pci.c
+++ b/drivers/pci/pci.c
@@ -751,7 +751,8 @@ int pci_enable_device(struct pci_dev *dev)
  * when a device is enabled using managed PCI device enable interface.
  */
 struct pci_devres {
-	unsigned int disable:1;
+	unsigned int enabled:1;
+	unsigned int pinned:1;
 	unsigned int orig_intx:1;
 	unsigned int restore_intx:1;
 	u32 region_mask;
@@ -775,7 +776,7 @@ static void pcim_release(struct device *gendev, void *res)
 	if (this->restore_intx)
 		pci_intx(dev, this->orig_intx);
 
-	if (this->disable)
+	if (this->enabled && !this->pinned)
 		pci_disable_device(dev);
 }
 
@@ -814,12 +815,12 @@ int pcim_enable_device(struct pci_dev *pdev)
 	dr = get_pci_dr(pdev);
 	if (unlikely(!dr))
 		return -ENOMEM;
-	WARN_ON(!!dr->disable);
+	WARN_ON(!!dr->enabled);
 
 	rc = pci_enable_device(pdev);
 	if (!rc) {
 		pdev->is_managed = 1;
-		dr->disable = 1;
+		dr->enabled = 1;
 	}
 	return rc;
 }
@@ -837,9 +838,9 @@ void pcim_pin_device(struct pci_dev *pdev)
 	struct pci_devres *dr;
 
 	dr = find_pci_dr(pdev);
-	WARN_ON(!dr || !dr->disable);
+	WARN_ON(!dr || !dr->enabled);
 	if (dr)
-		dr->disable = 0;
+		dr->pinned = 1;
 }
 
 /**
@@ -870,7 +871,7 @@ pci_disable_device(struct pci_dev *dev)
 
 	dr = find_pci_dr(dev);
 	if (dr)
-		dr->disable = 0;
+		dr->enabled = 0;
 
 	if (atomic_sub_return(1, &dev->enable_cnt) != 0)
 		return;

^ permalink raw reply related	[flat|nested] 6+ messages in thread

* Re: [PATCH] pci: allow multiple calls to pcim_pin_device()
  2007-02-20  8:28       ` [PATCH] pci: allow multiple calls to pcim_pin_device() Tejun Heo
@ 2007-02-20 21:45         ` Ian McDonald
  0 siblings, 0 replies; 6+ messages in thread
From: Ian McDonald @ 2007-02-20 21:45 UTC (permalink / raw)
  To: Tejun Heo
  Cc: Bartlomiej Zolnierkiewicz, gregkh, Linux Kernel Mailing List,
	Jeff Garzik

On 2/20/07, Tejun Heo <htejun@gmail.com> wrote:
> Sanity check in pcim_pin_device() was too restrictive in that it
> didn't allow multiple calls to the function, which is against the
> devres philosohpy of fire-and-forget.  Track pinned status separately
> and allow pinning multiple times.
>
> Signed-off-by: Tejun Heo <htejun@gmail.com>
> ---
> It was an actual bug in pcim_pin_device() implementation.  Thanks for
> spotting this.  :-)
>
> Ian McDonald, please verify your warning goes away with this patch.

Yes it does. Thanks for sorting.
>
> Greg, please forward this patch upstream once Ian acks it.
>
Acked-by: Ian McDonald <ian.mcdonald@jandi.co.nz>
-- 
Web: http://wand.net.nz/~iam4
Blog: http://iansblog.jandi.co.nz
WAND Network Research Group

^ permalink raw reply	[flat|nested] 6+ messages in thread

end of thread, other threads:[~2007-02-20 21:45 UTC | newest]

Thread overview: 6+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2007-02-18 19:53 [BUG/WARN] Error initialising drivers in PCI Ian McDonald
2007-02-18 20:58 ` Bartlomiej Zolnierkiewicz
2007-02-19  4:00   ` Ian McDonald
2007-02-19 11:47     ` Bartlomiej Zolnierkiewicz
2007-02-20  8:28       ` [PATCH] pci: allow multiple calls to pcim_pin_device() Tejun Heo
2007-02-20 21:45         ` Ian McDonald

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.