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/