aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorjkim <jkim@FreeBSD.org>2008-01-15 04:35:18 +0800
committerjkim <jkim@FreeBSD.org>2008-01-15 04:35:18 +0800
commit0dbefb57bdc0d5373dd6521961588468aeca5891 (patch)
tree8a9d2e38b95f936dde963d0fdae673a0cffe85de
parenta5dc80afebcb22d19a9fd8112f0ff07031870007 (diff)
downloadfreebsd-ports-gnome-0dbefb57bdc0d5373dd6521961588468aeca5891.tar.gz
freebsd-ports-gnome-0dbefb57bdc0d5373dd6521961588468aeca5891.tar.zst
freebsd-ports-gnome-0dbefb57bdc0d5373dd6521961588468aeca5891.zip
Attempt device_unbusy(9) before detaching it.
-rw-r--r--audio/oss/files/patch-setup-FreeBSD-oss-build-bsdpci.inc11
-rw-r--r--audio/oss/files/patch-setup-FreeBSD-oss-build-bsdvirtual.inc11
2 files changed, 22 insertions, 0 deletions
diff --git a/audio/oss/files/patch-setup-FreeBSD-oss-build-bsdpci.inc b/audio/oss/files/patch-setup-FreeBSD-oss-build-bsdpci.inc
new file mode 100644
index 000000000000..9be10a483fe3
--- /dev/null
+++ b/audio/oss/files/patch-setup-FreeBSD-oss-build-bsdpci.inc
@@ -0,0 +1,11 @@
+--- setup/FreeBSD/oss/build/bsdpci.inc.orig 2007-12-19 14:56:18.000000000 -0500
++++ setup/FreeBSD/oss/build/bsdpci.inc 2008-01-14 14:38:15.000000000 -0500
+@@ -92,6 +92,8 @@
+ osdev = device_list[i];
+ if (osdev->dip == dev)
+ {
++ if (device_get_state(dev) == DS_BUSY)
++ device_unbusy(dev);
+ if (!DRIVER_DETACH (osdev))
+ {
+ printf (DRIVER_NICK ": Unloading busy device\n");
diff --git a/audio/oss/files/patch-setup-FreeBSD-oss-build-bsdvirtual.inc b/audio/oss/files/patch-setup-FreeBSD-oss-build-bsdvirtual.inc
new file mode 100644
index 000000000000..54c885e9bb59
--- /dev/null
+++ b/audio/oss/files/patch-setup-FreeBSD-oss-build-bsdvirtual.inc
@@ -0,0 +1,11 @@
+--- setup/FreeBSD/oss/build/bsdvirtual.inc.orig 2007-12-19 14:56:18.000000000 -0500
++++ setup/FreeBSD/oss/build/bsdvirtual.inc 2008-01-14 14:09:02.000000000 -0500
+@@ -34,6 +34,8 @@
+ {
+ osdev = device_list[i];
+
++ if (osdev->dip != NULL && device_get_state(osdev->dip) == DS_BUSY)
++ device_unbusy(osdev->dip);
+ if (!DRIVER_DETACH (osdev))
+ {
+ printf (DRIVER_NICK ": Unloading busy device\n");