diff options
Diffstat (limited to 'sys/dev/em/if_em.c')
-rw-r--r-- | sys/dev/em/if_em.c | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/sys/dev/em/if_em.c b/sys/dev/em/if_em.c index 1fd5467..f380e1e 100644 --- a/sys/dev/em/if_em.c +++ b/sys/dev/em/if_em.c @@ -2911,12 +2911,14 @@ em_process_receive_interrupts(struct adapter * adapter, int count) adapter->fmp = NULL); if (adapter->fmp != NULL) { + struct mbuf *m = adapter->fmp; + + adapter->fmp = NULL; EM_UNLOCK(adapter); - (*ifp->if_input)(ifp, adapter->fmp); + (*ifp->if_input)(ifp, m); EM_LOCK(adapter); } #endif - adapter->fmp = NULL; adapter->lmp = NULL; } } else { |