PCI: How to find if BIOS has already enabled the device

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



I am trying to trace the root cause of an annoying problem with a USB Storage 
device - 

My laptop's BIOS supports booting from USB devices. I have attached an 
external USB HDD to a USB 2.0 port. If I boot Linux with the HDD attached and 
powered on, load of OHCI-HCD module hangs the machine for around 2 minutes - 
after that it recovers and all is fine. I have tried different distros 
without luck, but while installing debian, I figured out that the hang 
happens after ohci-hcd calls pci_enable_device() for the USB controller.

This does not happen when the boot is complete. I.e. if I attach the HDD after 
boot is complete (BIOS did not get a chance to enable it beforehand) load of 
ohci-hcd (during and after boot) does not hang the machine.

I think since the machine supports booting from USB HDD, the BIOS must be 
enabling the USB controller and attached device early during boot, and when 
ohci-hcd tries to re-enable it, it doesn't like it and leads to a hang. 

My question - Is it possible to detect if the USB controller is already 
enabled and skip enabling it second time?

Thanks

Parag
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [email protected]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

[Index of Archives]     [Kernel Newbies]     [Netfilter]     [Bugtraq]     [Photo]     [Stuff]     [Gimp]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Video 4 Linux]     [Linux for the blind]     [Linux Resources]
  Powered by Linux