1. 19 3月, 2012 38 次提交
  2. 16 3月, 2012 2 次提交
    • E
      wimax/i2400m: fix erroneous NETDEV_TX_BUSY use · b8fbaef5
      Eric Dumazet 提交于
      A driver start_xmit() method cannot free skb and return NETDEV_TX_BUSY,
      since caller is going to reuse freed skb.
      
      In fact netif_tx_stop_queue() / netif_stop_queue() is needed before
      returning NETDEV_TX_BUSY or you can trigger a ksoftirqd fatal loop.
      
      In case of memory allocation error, only safe way is to drop the packet
      and return NETDEV_TX_OK
      
      Also increments tx_dropped counter
      Signed-off-by: NEric Dumazet <eric.dumazet@gmail.com>
      Cc: Inaky Perez-Gonzalez <inaky.perez-gonzalez@intel.com>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      b8fbaef5
    • E
      net/hyperv: fix erroneous NETDEV_TX_BUSY use · bb6d5e76
      Eric Dumazet 提交于
      A driver start_xmit() method cannot free skb and return NETDEV_TX_BUSY,
      since caller is going to reuse freed skb.
      
      This is mostly a revert of commit bf769375 (staging: hv: fix the return
      status of netvsc_start_xmit())
      
      In fact netif_tx_stop_queue() / netif_stop_queue() is needed before
      returning NETDEV_TX_BUSY or you can trigger a ksoftirqd fatal loop.
      
      In case of memory allocation error, only safe way is to drop the packet
      and return NETDEV_TX_OK
      Signed-off-by: NEric Dumazet <eric.dumazet@gmail.com>
      Cc: "K. Y. Srinivasan" <kys@microsoft.com>
      Cc: Haiyang Zhang <haiyangz@microsoft.com>
      Cc: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
      Reviewed-by: NHaiyang Zhang <haiyangz@microsoft.com>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      bb6d5e76