Commit 124231f18f278bbfebe008711de4120a2ef42982
Committed by
Greg Kroah-Hartman
1 parent
710dfba5f0
staging: vt6655: Fix Warning on boot handle_irq_event_percpu.
commit 6cff1f6ad4c615319c1a146b2aa0af1043c5e9f5 upstream. WARNING: CPU: 0 PID: 929 at /home/apw/COD/linux/kernel/irq/handle.c:147 handle_irq_event_percpu+0x1d1/0x1e0() irq 17 handler device_intr+0x0/0xa80 [vt6655_stage] enabled interrupts Using spin_lock_irqsave appears to fix this. Signed-off-by: Malcolm Priestley <tvboxspy@gmail.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Showing 1 changed file with 5 additions and 2 deletions Side-by-side Diff
drivers/staging/vt6655/device_main.c
... | ... | @@ -2430,6 +2430,7 @@ |
2430 | 2430 | int handled = 0; |
2431 | 2431 | unsigned char byData = 0; |
2432 | 2432 | int ii = 0; |
2433 | + unsigned long flags; | |
2433 | 2434 | // unsigned char byRSSI; |
2434 | 2435 | |
2435 | 2436 | MACvReadISR(pDevice->PortOffset, &pDevice->dwIsr); |
2436 | 2437 | |
... | ... | @@ -2455,8 +2456,9 @@ |
2455 | 2456 | |
2456 | 2457 | handled = 1; |
2457 | 2458 | MACvIntDisable(pDevice->PortOffset); |
2458 | - spin_lock_irq(&pDevice->lock); | |
2459 | 2459 | |
2460 | + spin_lock_irqsave(&pDevice->lock, flags); | |
2461 | + | |
2460 | 2462 | //Make sure current page is 0 |
2461 | 2463 | VNSvInPortB(pDevice->PortOffset + MAC_REG_PAGE1SEL, &byOrgPageSel); |
2462 | 2464 | if (byOrgPageSel == 1) { |
... | ... | @@ -2696,7 +2698,8 @@ |
2696 | 2698 | MACvSelectPage1(pDevice->PortOffset); |
2697 | 2699 | } |
2698 | 2700 | |
2699 | - spin_unlock_irq(&pDevice->lock); | |
2701 | + spin_unlock_irqrestore(&pDevice->lock, flags); | |
2702 | + | |
2700 | 2703 | MACvIntEnable(pDevice->PortOffset, IMR_MASK_VALUE); |
2701 | 2704 | |
2702 | 2705 | return IRQ_RETVAL(handled); |