diff options
author | David Vrabel <david.vrabel@csr.com> | 2009-01-23 12:57:20 +0000 |
---|---|---|
committer | David Vrabel <david.vrabel@csr.com> | 2009-01-23 12:57:20 +0000 |
commit | 8f5140a6a0b1a9aa79585b0008e88c5d266c5c1d (patch) | |
tree | 8a96101d3c20a60bd0f2527e556457e86f5e58fc /drivers/uwb | |
parent | dff243f7cb3a2ebbb09093066c1bc4a90ff5b3a4 (diff) |
uwb: lock rc->rsvs_lock with spin_lock_bh()
rc->rsvs_lock may be taken in a timer so lock it with spin_lock_bh().
Signed-off-by: David Vrabel <david.vrabel@csr.com>
Diffstat (limited to 'drivers/uwb')
-rw-r--r-- | drivers/uwb/drp.c | 4 | ||||
-rw-r--r-- | drivers/uwb/rsv.c | 4 |
2 files changed, 4 insertions, 4 deletions
diff --git a/drivers/uwb/drp.c b/drivers/uwb/drp.c index 2b4f9406789d..4f5ca99a04b9 100644 --- a/drivers/uwb/drp.c +++ b/drivers/uwb/drp.c @@ -66,14 +66,14 @@ static void uwb_rc_set_drp_cmd_done(struct uwb_rc *rc, void *arg, } else dev_err(&rc->uwb_dev.dev, "SET-DRP-IE: timeout\n"); - spin_lock(&rc->rsvs_lock); + spin_lock_bh(&rc->rsvs_lock); if (rc->set_drp_ie_pending > 1) { rc->set_drp_ie_pending = 0; uwb_rsv_queue_update(rc); } else { rc->set_drp_ie_pending = 0; } - spin_unlock(&rc->rsvs_lock); + spin_unlock_bh(&rc->rsvs_lock); } /** diff --git a/drivers/uwb/rsv.c b/drivers/uwb/rsv.c index 886f977cd2ea..6b76f4bb4cc7 100644 --- a/drivers/uwb/rsv.c +++ b/drivers/uwb/rsv.c @@ -870,7 +870,7 @@ void uwb_rsv_queue_update(struct uwb_rc *rc) */ void uwb_rsv_sched_update(struct uwb_rc *rc) { - spin_lock(&rc->rsvs_lock); + spin_lock_bh(&rc->rsvs_lock); if (!delayed_work_pending(&rc->rsv_update_work)) { if (rc->set_drp_ie_pending > 0) { rc->set_drp_ie_pending++; @@ -879,7 +879,7 @@ void uwb_rsv_sched_update(struct uwb_rc *rc) uwb_rsv_queue_update(rc); } unlock: - spin_unlock(&rc->rsvs_lock); + spin_unlock_bh(&rc->rsvs_lock); } /* |