Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

usb: uwb: use correct locking calls for rc data

The rc object's members can be accessed from both a timer and URB
callback. Use spin_*_irq instead of spin_*_bh.

Signed-off-by: Thomas Pugliese <thomas.pugliese@gmail.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

authored by

tpugliese and committed by
Greg Kroah-Hartman
3138887b c0c6e079

+4 -4
+2 -2
drivers/uwb/drp.c
··· 67 67 } else 68 68 dev_err(&rc->uwb_dev.dev, "SET-DRP-IE: timeout\n"); 69 69 70 - spin_lock_bh(&rc->rsvs_lock); 70 + spin_lock_irq(&rc->rsvs_lock); 71 71 if (rc->set_drp_ie_pending > 1) { 72 72 rc->set_drp_ie_pending = 0; 73 73 uwb_rsv_queue_update(rc); 74 74 } else { 75 75 rc->set_drp_ie_pending = 0; 76 76 } 77 - spin_unlock_bh(&rc->rsvs_lock); 77 + spin_unlock_irq(&rc->rsvs_lock); 78 78 } 79 79 80 80 /**
+2 -2
drivers/uwb/rsv.c
··· 872 872 */ 873 873 void uwb_rsv_sched_update(struct uwb_rc *rc) 874 874 { 875 - spin_lock_bh(&rc->rsvs_lock); 875 + spin_lock_irq(&rc->rsvs_lock); 876 876 if (!delayed_work_pending(&rc->rsv_update_work)) { 877 877 if (rc->set_drp_ie_pending > 0) { 878 878 rc->set_drp_ie_pending++; ··· 881 881 uwb_rsv_queue_update(rc); 882 882 } 883 883 unlock: 884 - spin_unlock_bh(&rc->rsvs_lock); 884 + spin_unlock_irq(&rc->rsvs_lock); 885 885 } 886 886 887 887 /*