Move the deactivation of the device's BAR to before the loop where we
turn deactivate the resources. While this likely doesn't matter, it is likely to be safer.
This commit is contained in:
parent
b1db3b7a40
commit
afb1ec6d56
Notes:
svn2git
2020-12-20 02:59:44 +00:00
svn path=/head/; revision=189731
@ -289,6 +289,11 @@ cardbus_release_all_resources(device_t cbdev, struct cardbus_devinfo *dinfo)
|
||||
struct resource_list_entry *rle;
|
||||
device_t dev;
|
||||
|
||||
/* Turn off access to resources we're about to free */
|
||||
dev = dinfo->pci.cfg.dev;
|
||||
pci_write_config(dev, PCIR_COMMAND,
|
||||
pci_read_config(dev, PCIR_COMMAND, 2) &
|
||||
~(PCIM_CMD_MEMEN | PCIM_CMD_PORTEN), 2);
|
||||
/* Free all allocated resources */
|
||||
STAILQ_FOREACH(rle, &dinfo->pci.resources, link) {
|
||||
if (rle->res) {
|
||||
@ -298,11 +303,6 @@ cardbus_release_all_resources(device_t cbdev, struct cardbus_devinfo *dinfo)
|
||||
}
|
||||
}
|
||||
resource_list_free(&dinfo->pci.resources);
|
||||
/* turn off the card's decoding now that the resources are done */
|
||||
dev = dinfo->pci.cfg.dev;
|
||||
pci_write_config(dev, PCIR_COMMAND,
|
||||
pci_read_config(dev, PCIR_COMMAND, 2) &
|
||||
~(PCIM_CMD_MEMEN | PCIM_CMD_PORTEN), 2);
|
||||
}
|
||||
|
||||
/************************************************************************/
|
||||
|
Loading…
Reference in New Issue
Block a user