Date: Thu, 19 Nov 2009 21:47:54 +0000 (UTC) From: John Baldwin <jhb@FreeBSD.org> To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r199554 - head/sys/dev/nxge Message-ID: <200911192147.nAJLlsll020593@svn.freebsd.org>
next in thread | raw e-mail | index | archive | help
Author: jhb Date: Thu Nov 19 21:47:54 2009 New Revision: 199554 URL: http://svn.freebsd.org/changeset/base/199554 Log: Fix compile after previous "harmless" commit. Pointy hat to: jhb Modified: head/sys/dev/nxge/if_nxge.c Modified: head/sys/dev/nxge/if_nxge.c ============================================================================== --- head/sys/dev/nxge/if_nxge.c Thu Nov 19 21:46:58 2009 (r199553) +++ head/sys/dev/nxge/if_nxge.c Thu Nov 19 21:47:54 2009 (r199554) @@ -2943,7 +2943,6 @@ xge_flush_txds(xge_hal_channel_h channel xge_lldev_t *lldev = xge_hal_channel_userdata(channelh); xge_hal_dtr_h tx_dtr; xge_tx_priv_t *tx_priv; - struct ifnet *ifnetp = lldev->ifnetp; u8 t_code; while(xge_hal_fifo_dtr_next_completed(channelh, &tx_dtr, &t_code) @@ -3005,7 +3004,7 @@ xge_send_locked(struct ifnet *ifnetp, in /* If device is not initialized, return */ if((!lldev->initialized) || (!(ifnetp->if_drv_flags & IFF_DRV_RUNNING))) - goto _exit; + return; XGE_DRV_STATS(tx_calls); @@ -3015,7 +3014,10 @@ xge_send_locked(struct ifnet *ifnetp, in */ for(;;) { IF_DEQUEUE(&ifnetp->if_snd, m_head); - if(m_head == NULL) break; + if (m_head == NULL) { + ifnetp->if_drv_flags &= ~(IFF_DRV_OACTIVE); + return; + } for(m_buf = m_head; m_buf != NULL; m_buf = m_buf->m_next) { if(m_buf->m_len) count += 1; @@ -3032,7 +3034,7 @@ xge_send_locked(struct ifnet *ifnetp, in if(status != XGE_HAL_OK) { XGE_DRV_STATS(tx_no_txd); xge_flush_txds(channelh); - goto _exit1; + break; } vlan_tag = @@ -3053,7 +3055,7 @@ xge_send_locked(struct ifnet *ifnetp, in ll_tx_priv->dma_map, m_head, segs, &nsegs, BUS_DMA_NOWAIT)) { xge_trace(XGE_TRACE, "DMA map load failed"); XGE_DRV_STATS(tx_map_fail); - goto _exit1; + break; } if(lldev->driver_stats.tx_max_frags < nsegs) @@ -3092,9 +3094,7 @@ xge_send_locked(struct ifnet *ifnetp, in * listener so that we can use tools like tcpdump */ ETHER_BPF_MTAP(ifnetp, m_head); } - ifnetp->if_drv_flags &= ~(IFF_DRV_OACTIVE); - goto _exit; -_exit1: + /* Prepend the packet back to queue */ IF_PREPEND(&ifnetp->if_snd, m_head); ifnetp->if_drv_flags |= IFF_DRV_OACTIVE; @@ -3102,8 +3102,6 @@ _exit1: xge_queue_produce_context(xge_hal_device_queue(lldev->devh), XGE_LL_EVENT_TRY_XMIT_AGAIN, lldev->devh); XGE_DRV_STATS(tx_again); - -_exit: } /**
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200911192147.nAJLlsll020593>