Re: [PATCH] missing pci_disable_device()
From: Jeff Garzik
Date: Thu Sep 09 2004 - 14:57:03 EST
Well, the kexec folks have a bit of a point (but not IMO a strong one).
Overall to be friendly with firmware and multi-driver situations we
should try and _restore_ the state of the PCI device prior to
pci_enable_device(), when pci_disable_device() is called.
Some situations -- namely BIOS/ACPI/SMM and kexec -- really do care
about the state of the hardware at shutdown time. Other situations are
purely Linux problems, like what Jens ran into a month or more ago:
* IDE driver loads, including on legacy addresses
* modprobe ata_piix
* pci_enable_device() on a running device
* notice, according to pci_request_regions, that regions are busy
* pci_disable_device()
* IDE suddenly stops working because we disabled IO/MEM
However, with regards to bus-mastering bit specifically, it is
considered a Real Good Idea on a lot of the hardware I mess with to
disable busmastering when you shut down the hardware.
Jeff
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/