From 9c6960c61c688aef921be21d1dec55abe5d4ecdf Mon Sep 17 00:00:00 2001 From: Pyun YongHyeon Date: Fri, 4 Nov 2011 23:09:57 +0000 Subject: Because ti(4) drops a driver lock in RX handler, check whether driver is still running before re-enabling interrupts. --- sys/dev/ti/if_ti.c | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) (limited to 'sys') diff --git a/sys/dev/ti/if_ti.c b/sys/dev/ti/if_ti.c index 7483bd9f9266..66401d1d6cb6 100644 --- a/sys/dev/ti/if_ti.c +++ b/sys/dev/ti/if_ti.c @@ -2856,12 +2856,12 @@ ti_intr(void *xsc) ti_handle_events(sc); - /* Re-enable interrupts. */ - CSR_WRITE_4(sc, TI_MB_HOSTINTR, 0); - if (ifp->if_drv_flags & IFF_DRV_RUNNING && - ifp->if_snd.ifq_head != NULL) + ifp->if_snd.ifq_head != NULL) { + /* Re-enable interrupts. */ + CSR_WRITE_4(sc, TI_MB_HOSTINTR, 0); ti_start_locked(ifp); + } TI_UNLOCK(sc); } -- cgit v1.3