summaryrefslogtreecommitdiff
path: root/drivers/dahdi/xpp/xbus-sysfs.c
diff options
context:
space:
mode:
authorTzafrir Cohen <tzafrir.cohen@xorcom.com>2010-07-13 09:42:45 +0000
committerTzafrir Cohen <tzafrir.cohen@xorcom.com>2010-07-13 09:42:45 +0000
commitd6035ac6ad1c10d867c57cd53e074fa521a537b0 (patch)
tree9af22ba8a433532636b3d6c7936f26fbed9ddab1 /drivers/dahdi/xpp/xbus-sysfs.c
parent330259c92d09fba56efca9d5be4cd2b237645725 (diff)
put xbus->worker in xbus; wake_up_interruptible_all()
* The worker member of 'struct xbus' is now an embedded struct xbus_workqueue. * Replace wake_up() to wake_up_interruptible_all(). git-svn-id: http://svn.asterisk.org/svn/dahdi/linux/trunk@8882 a0bf4364-ded3-4de4-8d8a-66a801d63aff
Diffstat (limited to 'drivers/dahdi/xpp/xbus-sysfs.c')
-rw-r--r--drivers/dahdi/xpp/xbus-sysfs.c7
1 files changed, 3 insertions, 4 deletions
diff --git a/drivers/dahdi/xpp/xbus-sysfs.c b/drivers/dahdi/xpp/xbus-sysfs.c
index 9634cd2..d107f39 100644
--- a/drivers/dahdi/xpp/xbus-sysfs.c
+++ b/drivers/dahdi/xpp/xbus-sysfs.c
@@ -781,7 +781,7 @@ int xpd_device_register(xbus_t *xbus, xpd_t *xpd)
XPD_ERR(xpd, "%s: device_register failed: %d\n", __FUNCTION__, ret);
return ret;
}
- get_xpd(__FUNCTION__, xpd);
+ xpd = get_xpd(__func__, xpd); /* Released in xbus_release_xpds() */
BUG_ON(!xpd);
return 0;
}
@@ -811,12 +811,12 @@ void xbus_sysfs_remove(xbus_t *xbus)
BUG_ON(!xbus);
XBUS_DBG(DEVICES, xbus, "\n");
astribank = &xbus->astribank;
- BUG_ON(!astribank);
sysfs_remove_link(&astribank->kobj, "transport");
if(!dev_get_drvdata(astribank))
return;
BUG_ON(dev_get_drvdata(astribank) != xbus);
- device_unregister(&xbus->astribank);
+ device_unregister(astribank);
+ dev_set_drvdata(astribank, NULL);
}
int xbus_sysfs_create(xbus_t *xbus)
@@ -826,7 +826,6 @@ int xbus_sysfs_create(xbus_t *xbus)
BUG_ON(!xbus);
astribank = &xbus->astribank;
- BUG_ON(!astribank);
XBUS_DBG(DEVICES, xbus, "\n");
astribank->bus = &toplevel_bus_type;
astribank->parent = xbus->transport.transport_device;