diff options
Diffstat (limited to 'xpp/xbus-core.c')
-rw-r--r-- | xpp/xbus-core.c | 10 |
1 files changed, 2 insertions, 8 deletions
diff --git a/xpp/xbus-core.c b/xpp/xbus-core.c index dc5c812..5260804 100644 --- a/xpp/xbus-core.c +++ b/xpp/xbus-core.c @@ -447,13 +447,6 @@ out: */ static int xbus_poll(WORK_DATA *data) { - xbus_t *xbus = container_of(work, xbus_t, xpds_init_work); -#else -static void xbus_poll(void *data) -{ - xbus_t *xbus = data; -#endif - int id; int ret = 0; unsigned long flags; @@ -472,7 +465,7 @@ static void xbus_poll(void *data) #endif if(!down_read_trylock(&xbus->in_use)) { ERR("%s is being removed...\n", xbus->busname); - return; + return -EBUSY; } msleep(2); /* roundtrip for older polls */ spin_lock_irqsave(&xbus->lock, flags); @@ -571,6 +564,7 @@ static void xbus_poll(void *data) wake_up(&xbus->wait_for_xpd_initialization); out: up_read(&xbus->in_use); + return ret; } |