On Fri, 11 Mar 2005, Greg KH wrote:

> On Fri, Mar 11, 2005 at 11:03:17AM -0500, Alan Stern wrote:
> > Greg:
> > 
> > When the PCI subsystem discovers a device, it calls pci_setup_device to 
> > initialize various things.  It doesn't call pci_disable_device to stop the 
> > device from doing DMA, or do the equivalent (whatever that might be) to 
> > stop the device from generating IRQs.  Unless I'm mistaken, which is 
> > certainly possible.
> 
> That is because that caused too much trouble when we tried to do it,
> from what I remember.  I think the lkml archives has that discussion
> somewhere...

It's quite believable that this might cause problems somewhere.  And it's
unfortunate that the mailing list archives are so large and have such
inadequate indexing and search facilities...

> > During a normal boot most devices are left in reasonably quiescent and
> > safe condition when the BIOS passes control to the OS.  But sometimes a
> > few of them aren't; that's why we need to have the USB early-handoff quirk
> > code.  And during a kexec reboot things might be even worse.
> 
> Well, that's a kexec issue then :)
> 
> > Is it feasible to have the PCI device initialization sequence disable DMA
> > and IRQs from the device?  This could solve the problems we've been seeing
> > with non-quiescent devices sharing an IRQ line at startup.
> 
> Have patch?

Maybe I'll try to put one together.  Can you give me any pointers to
examples showing how one prevents a generic PCI device from issuing IRQs?

Alan Stern



-------------------------------------------------------
SF email is sponsored by - The IT Product Guide
Read honest & candid reviews on hundreds of IT Products from real users.
Discover which products truly live up to the hype. Start reading now.
http://ads.osdn.com/?ad_id=6595&alloc_id=14396&op=click
_______________________________________________
linux-usb-devel@lists.sourceforge.net
To unsubscribe, use the last form field at:
https://lists.sourceforge.net/lists/listinfo/linux-usb-devel

Reply via email to