Skip to content

Commit

Permalink
uwb: don't call spin_unlock_irq in a USB completion handler
Browse files Browse the repository at this point in the history
This patch converts the use of spin_lock_irq/spin_unlock_irq to
spin_lock_irqsave/spin_unlock_irqrestore in uwb_rc_set_drp_cmd_done
which is called from a USB completion handler.  There are also
whitespace cleanups to make checkpatch.pl happy.

Signed-off-by: Thomas Pugliese <thomas.pugliese@gmail.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
  • Loading branch information
Thomas Pugliese authored and Greg Kroah-Hartman committed Apr 24, 2014
1 parent cd84f00 commit c996b93
Showing 1 changed file with 5 additions and 4 deletions.
9 changes: 5 additions & 4 deletions drivers/uwb/drp.c
Original file line number Diff line number Diff line change
Expand Up @@ -59,6 +59,7 @@ static void uwb_rc_set_drp_cmd_done(struct uwb_rc *rc, void *arg,
struct uwb_rceb *reply, ssize_t reply_size)
{
struct uwb_rc_evt_set_drp_ie *r = (struct uwb_rc_evt_set_drp_ie *)reply;
unsigned long flags;

if (r != NULL) {
if (r->bResultCode != UWB_RC_RES_SUCCESS)
Expand All @@ -67,14 +68,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_irq(&rc->rsvs_lock);
spin_lock_irqsave(&rc->rsvs_lock, flags);
if (rc->set_drp_ie_pending > 1) {
rc->set_drp_ie_pending = 0;
uwb_rsv_queue_update(rc);
uwb_rsv_queue_update(rc);
} else {
rc->set_drp_ie_pending = 0;
rc->set_drp_ie_pending = 0;
}
spin_unlock_irq(&rc->rsvs_lock);
spin_unlock_irqrestore(&rc->rsvs_lock, flags);
}

/**
Expand Down

0 comments on commit c996b93

Please sign in to comment.