Page MenuHomeFreeBSD

D49269.diff
No OneTemporary

D49269.diff

diff --git a/sys/dev/pci/pci_pci.c b/sys/dev/pci/pci_pci.c
--- a/sys/dev/pci/pci_pci.c
+++ b/sys/dev/pci/pci_pci.c
@@ -800,8 +800,6 @@
&pci_enable_pcie_hp, 0,
"Enable support for native PCI-express HotPlug.");
-TASKQUEUE_DEFINE_THREAD(pci_hp);
-
static void
pcib_probe_hotplug(struct pcib_softc *sc)
{
@@ -888,7 +886,7 @@
(ctl & new) & PCIEM_SLOT_CTL_CCIE) {
sc->flags |= PCIB_HOTPLUG_CMD_PENDING;
if (!cold)
- taskqueue_enqueue_timeout(taskqueue_pci_hp,
+ taskqueue_enqueue_timeout(taskqueue_bus,
&sc->pcie_cc_task, hz);
}
}
@@ -904,7 +902,7 @@
device_printf(dev, "Command Completed\n");
if (!(sc->flags & PCIB_HOTPLUG_CMD_PENDING))
return;
- taskqueue_cancel_timeout(taskqueue_pci_hp, &sc->pcie_cc_task, NULL);
+ taskqueue_cancel_timeout(taskqueue_bus, &sc->pcie_cc_task, NULL);
sc->flags &= ~PCIB_HOTPLUG_CMD_PENDING;
wakeup(sc);
}
@@ -1023,10 +1021,10 @@
device_printf(sc->dev,
"Data Link Layer inactive\n");
else
- taskqueue_enqueue_timeout(taskqueue_pci_hp,
+ taskqueue_enqueue_timeout(taskqueue_bus,
&sc->pcie_dll_task, hz);
} else if (sc->pcie_link_sta & PCIEM_LINK_STA_DL_ACTIVE)
- taskqueue_cancel_timeout(taskqueue_pci_hp, &sc->pcie_dll_task,
+ taskqueue_cancel_timeout(taskqueue_bus, &sc->pcie_dll_task,
NULL);
pcib_pcie_hotplug_command(sc, val, mask);
@@ -1038,7 +1036,7 @@
*/
if (schedule_task &&
(pcib_hotplug_present(sc) != 0) != (sc->child != NULL))
- taskqueue_enqueue(taskqueue_pci_hp, &sc->pcie_hp_task);
+ taskqueue_enqueue(taskqueue_bus, &sc->pcie_hp_task);
}
static void
@@ -1066,14 +1064,14 @@
device_printf(dev,
"Attention Button Pressed: Detach Cancelled\n");
sc->flags &= ~PCIB_DETACH_PENDING;
- taskqueue_cancel_timeout(taskqueue_pci_hp,
+ taskqueue_cancel_timeout(taskqueue_bus,
&sc->pcie_ab_task, NULL);
} else if (old_slot_sta & PCIEM_SLOT_STA_PDS) {
/* Only initiate detach sequence if device present. */
device_printf(dev,
"Attention Button Pressed: Detaching in 5 seconds\n");
sc->flags |= PCIB_DETACH_PENDING;
- taskqueue_enqueue_timeout(taskqueue_pci_hp,
+ taskqueue_enqueue_timeout(taskqueue_bus,
&sc->pcie_ab_task, 5 * hz);
}
}
@@ -1271,11 +1269,11 @@
dev = sc->dev;
TASK_INIT(&sc->pcie_hp_task, 0, pcib_pcie_hotplug_task, sc);
- TIMEOUT_TASK_INIT(taskqueue_pci_hp, &sc->pcie_ab_task, 0,
+ TIMEOUT_TASK_INIT(taskqueue_bus, &sc->pcie_ab_task, 0,
pcib_pcie_ab_timeout, sc);
- TIMEOUT_TASK_INIT(taskqueue_pci_hp, &sc->pcie_cc_task, 0,
+ TIMEOUT_TASK_INIT(taskqueue_bus, &sc->pcie_cc_task, 0,
pcib_pcie_cc_timeout, sc);
- TIMEOUT_TASK_INIT(taskqueue_pci_hp, &sc->pcie_dll_task, 0,
+ TIMEOUT_TASK_INIT(taskqueue_bus, &sc->pcie_dll_task, 0,
pcib_pcie_dll_timeout, sc);
sc->pcie_hp_lock = bus_topo_mtx();
@@ -1321,13 +1319,13 @@
/* Disable the card in the slot and force it to detach. */
if (sc->flags & PCIB_DETACH_PENDING) {
sc->flags &= ~PCIB_DETACH_PENDING;
- taskqueue_cancel_timeout(taskqueue_pci_hp, &sc->pcie_ab_task,
+ taskqueue_cancel_timeout(taskqueue_bus, &sc->pcie_ab_task,
NULL);
}
sc->flags |= PCIB_DETACHING;
if (sc->flags & PCIB_HOTPLUG_CMD_PENDING) {
- taskqueue_cancel_timeout(taskqueue_pci_hp, &sc->pcie_cc_task,
+ taskqueue_cancel_timeout(taskqueue_bus, &sc->pcie_cc_task,
NULL);
tsleep(sc, 0, "hpcmd", hz);
sc->flags &= ~PCIB_HOTPLUG_CMD_PENDING;
@@ -1350,10 +1348,10 @@
error = pcib_release_pcie_irq(sc);
if (error)
return (error);
- taskqueue_drain(taskqueue_pci_hp, &sc->pcie_hp_task);
- taskqueue_drain_timeout(taskqueue_pci_hp, &sc->pcie_ab_task);
- taskqueue_drain_timeout(taskqueue_pci_hp, &sc->pcie_cc_task);
- taskqueue_drain_timeout(taskqueue_pci_hp, &sc->pcie_dll_task);
+ taskqueue_drain(taskqueue_bus, &sc->pcie_hp_task);
+ taskqueue_drain_timeout(taskqueue_bus, &sc->pcie_ab_task);
+ taskqueue_drain_timeout(taskqueue_bus, &sc->pcie_cc_task);
+ taskqueue_drain_timeout(taskqueue_bus, &sc->pcie_dll_task);
return (0);
}
#endif

File Metadata

Mime Type
text/plain
Expires
Fri, Mar 21, 10:52 AM (10 h, 21 m)
Storage Engine
blob
Storage Format
Raw Data
Storage Handle
17039141
Default Alt Text
D49269.diff (3 KB)

Event Timeline