staging: vt6655: baseband.c timers replace spin lock
authorMalcolm Priestley <tvboxspy@gmail.com>
Wed, 29 Oct 2014 17:44:05 +0000 (17:44 +0000)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Wed, 29 Oct 2014 20:31:31 +0000 (13:31 -0700)
Use spin_lock_irqsave and spin_unlock_irqrestore

in functions TimerSQ3CallBack and TimerState1CallBack

Signed-off-by: Malcolm Priestley <tvboxspy@gmail.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/staging/vt6655/baseband.c

index 8adeea4da0ec8377fa817f2f1b082d1fddd37315..c7ad927084d7a9fa0c04b54400acf55bc1b8a708 100644 (file)
@@ -2786,9 +2786,11 @@ TimerSQ3CallBack(
 )
 {
        struct vnt_private *pDevice = hDeviceContext;
+       unsigned long flags;
 
        pr_debug("TimerSQ3CallBack...\n");
-       spin_lock_irq(&pDevice->lock);
+
+       spin_lock_irqsave(&pDevice->lock, flags);
 
        pr_debug("3.[%08x][%08x], %d\n",
                 (int)pDevice->ulRatio_State0, (int)pDevice->ulRatio_State1,
@@ -2803,7 +2805,7 @@ TimerSQ3CallBack(
        add_timer(&pDevice->TimerSQ3Tmax3);
        add_timer(&pDevice->TimerSQ3Tmax2);
 
-       spin_unlock_irq(&pDevice->lock);
+       spin_unlock_irqrestore(&pDevice->lock, flags);
 }
 
 /*+
@@ -2830,10 +2832,12 @@ TimerState1CallBack(
 )
 {
        struct vnt_private *pDevice = hDeviceContext;
+       unsigned long flags;
 
        pr_debug("TimerState1CallBack...\n");
 
-       spin_lock_irq(&pDevice->lock);
+       spin_lock_irqsave(&pDevice->lock, flags);
+
        if (pDevice->uDiversityCnt < pDevice->ulDiversityMValue/100) {
                s_vChangeAntenna(pDevice);
                pDevice->TimerSQ3Tmax3.expires =  RUN_AT(pDevice->byTMax3 * HZ);
@@ -2864,5 +2868,6 @@ TimerState1CallBack(
        }
        pDevice->byAntennaState = 0;
        BBvClearAntDivSQ3Value(pDevice);
-       spin_unlock_irq(&pDevice->lock);
+
+       spin_unlock_irqrestore(&pDevice->lock, flags);
 }