<feed xmlns='http://www.w3.org/2005/Atom'>
<title>linux-toradex.git/drivers/net, branch v3.15-rc1</title>
<subtitle>Linux kernel for Apalis and Colibri modules</subtitle>
<link rel='alternate' type='text/html' href='https://git.toradex.cn/cgit/linux-toradex.git/'/>
<entry>
<title>Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net</title>
<updated>2014-04-13T00:31:22+00:00</updated>
<author>
<name>Linus Torvalds</name>
<email>torvalds@linux-foundation.org</email>
</author>
<published>2014-04-13T00:31:22+00:00</published>
<link rel='alternate' type='text/html' href='https://git.toradex.cn/cgit/linux-toradex.git/commit/?id=454fd351f2e2b6baa926d61064aaf70d2a77976e'/>
<id>454fd351f2e2b6baa926d61064aaf70d2a77976e</id>
<content type='text'>
Pull yet more networking updates from David Miller:

 1) Various fixes to the new Redpine Signals wireless driver, from
    Fariya Fatima.

 2) L2TP PPP connect code takes PMTU from the wrong socket, fix from
    Dmitry Petukhov.

 3) UFO and TSO packets differ in whether they include the protocol
    header in gso_size, account for that in skb_gso_transport_seglen().
   From Florian Westphal.

 4) If VLAN untagging fails, we double free the SKB in the bridging
    output path.  From Toshiaki Makita.

 5) Several call sites of sk-&gt;sk_data_ready() were referencing an SKB
    just added to the socket receive queue in order to calculate the
    second argument via skb-&gt;len.  This is dangerous because the moment
    the skb is added to the receive queue it can be consumed in another
    context and freed up.

    It turns out also that none of the sk-&gt;sk_data_ready()
    implementations even care about this second argument.

    So just kill it off and thus fix all these use-after-free bugs as a
    side effect.

 6) Fix inverted test in tcp_v6_send_response(), from Lorenzo Colitti.

 7) pktgen needs to do locking properly for LLTX devices, from Daniel
    Borkmann.

 8) xen-netfront driver initializes TX array entries in RX loop :-) From
    Vincenzo Maffione.

 9) After refactoring, some tunnel drivers allow a tunnel to be
    configured on top itself.  Fix from Nicolas Dichtel.

* git://git.kernel.org/pub/scm/linux/kernel/git/davem/net: (46 commits)
  vti: don't allow to add the same tunnel twice
  gre: don't allow to add the same tunnel twice
  drivers: net: xen-netfront: fix array initialization bug
  pktgen: be friendly to LLTX devices
  r8152: check RTL8152_UNPLUG
  net: sun4i-emac: add promiscuous support
  net/apne: replace IS_ERR and PTR_ERR with PTR_ERR_OR_ZERO
  net: ipv6: Fix oif in TCP SYN+ACK route lookup.
  drivers: net: cpsw: enable interrupts after napi enable and clearing previous interrupts
  drivers: net: cpsw: discard all packets received when interface is down
  net: Fix use after free by removing length arg from sk_data_ready callbacks.
  Drivers: net: hyperv: Address UDP checksum issues
  Drivers: net: hyperv: Negotiate suitable ndis version for offload support
  Drivers: net: hyperv: Allocate memory for all possible per-pecket information
  bridge: Fix double free and memory leak around br_allowed_ingress
  bonding: Remove debug_fs files when module init fails
  i40evf: program RSS LUT correctly
  i40evf: remove open-coded skb_cow_head
  ixgb: remove open-coded skb_cow_head
  igbvf: remove open-coded skb_cow_head
  ...
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Pull yet more networking updates from David Miller:

 1) Various fixes to the new Redpine Signals wireless driver, from
    Fariya Fatima.

 2) L2TP PPP connect code takes PMTU from the wrong socket, fix from
    Dmitry Petukhov.

 3) UFO and TSO packets differ in whether they include the protocol
    header in gso_size, account for that in skb_gso_transport_seglen().
   From Florian Westphal.

 4) If VLAN untagging fails, we double free the SKB in the bridging
    output path.  From Toshiaki Makita.

 5) Several call sites of sk-&gt;sk_data_ready() were referencing an SKB
    just added to the socket receive queue in order to calculate the
    second argument via skb-&gt;len.  This is dangerous because the moment
    the skb is added to the receive queue it can be consumed in another
    context and freed up.

    It turns out also that none of the sk-&gt;sk_data_ready()
    implementations even care about this second argument.

    So just kill it off and thus fix all these use-after-free bugs as a
    side effect.

 6) Fix inverted test in tcp_v6_send_response(), from Lorenzo Colitti.

 7) pktgen needs to do locking properly for LLTX devices, from Daniel
    Borkmann.

 8) xen-netfront driver initializes TX array entries in RX loop :-) From
    Vincenzo Maffione.

 9) After refactoring, some tunnel drivers allow a tunnel to be
    configured on top itself.  Fix from Nicolas Dichtel.

* git://git.kernel.org/pub/scm/linux/kernel/git/davem/net: (46 commits)
  vti: don't allow to add the same tunnel twice
  gre: don't allow to add the same tunnel twice
  drivers: net: xen-netfront: fix array initialization bug
  pktgen: be friendly to LLTX devices
  r8152: check RTL8152_UNPLUG
  net: sun4i-emac: add promiscuous support
  net/apne: replace IS_ERR and PTR_ERR with PTR_ERR_OR_ZERO
  net: ipv6: Fix oif in TCP SYN+ACK route lookup.
  drivers: net: cpsw: enable interrupts after napi enable and clearing previous interrupts
  drivers: net: cpsw: discard all packets received when interface is down
  net: Fix use after free by removing length arg from sk_data_ready callbacks.
  Drivers: net: hyperv: Address UDP checksum issues
  Drivers: net: hyperv: Negotiate suitable ndis version for offload support
  Drivers: net: hyperv: Allocate memory for all possible per-pecket information
  bridge: Fix double free and memory leak around br_allowed_ingress
  bonding: Remove debug_fs files when module init fails
  i40evf: program RSS LUT correctly
  i40evf: remove open-coded skb_cow_head
  ixgb: remove open-coded skb_cow_head
  igbvf: remove open-coded skb_cow_head
  ...
</pre>
</div>
</content>
</entry>
<entry>
<title>Merge tag 'ntb-3.15' of git://github.com/jonmason/ntb</title>
<updated>2014-04-12T23:16:39+00:00</updated>
<author>
<name>Linus Torvalds</name>
<email>torvalds@linux-foundation.org</email>
</author>
<published>2014-04-12T23:16:39+00:00</published>
<link rel='alternate' type='text/html' href='https://git.toradex.cn/cgit/linux-toradex.git/commit/?id=07f5fef981bd89e92d67a69370c6487679cf66e4'/>
<id>07f5fef981bd89e92d67a69370c6487679cf66e4</id>
<content type='text'>
Pull PCIe non-transparent bridge fixes and features from Jon Mason:
 "NTB driver bug fixes to address issues in list traversal, skb leak in
  ntb_netdev, a typo, and a leak of msix entries in the error path.
  Clean ups of the event handling logic, as well as a overall style
  cleanup.  Finally, the driver was converted to use the new
  pci_enable_msix_range logic (and the refactoring to go along with it)"

* tag 'ntb-3.15' of git://github.com/jonmason/ntb:
  ntb: Use pci_enable_msix_range() instead of pci_enable_msix()
  ntb: Split ntb_setup_msix() into separate BWD/SNB routines
  ntb: Use pci_msix_vec_count() to obtain number of MSI-Xs
  NTB: Code Style Clean-up
  NTB: client event cleanup
  ntb: Fix leakage of ntb_device::msix_entries[] array
  NTB: Fix typo in setting one translation register
  ntb_netdev: Fix skb free issue in open
  ntb_netdev: Fix list_for_each_entry exit issue
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Pull PCIe non-transparent bridge fixes and features from Jon Mason:
 "NTB driver bug fixes to address issues in list traversal, skb leak in
  ntb_netdev, a typo, and a leak of msix entries in the error path.
  Clean ups of the event handling logic, as well as a overall style
  cleanup.  Finally, the driver was converted to use the new
  pci_enable_msix_range logic (and the refactoring to go along with it)"

* tag 'ntb-3.15' of git://github.com/jonmason/ntb:
  ntb: Use pci_enable_msix_range() instead of pci_enable_msix()
  ntb: Split ntb_setup_msix() into separate BWD/SNB routines
  ntb: Use pci_msix_vec_count() to obtain number of MSI-Xs
  NTB: Code Style Clean-up
  NTB: client event cleanup
  ntb: Fix leakage of ntb_device::msix_entries[] array
  NTB: Fix typo in setting one translation register
  ntb_netdev: Fix skb free issue in open
  ntb_netdev: Fix list_for_each_entry exit issue
</pre>
</div>
</content>
</entry>
<entry>
<title>drivers: net: xen-netfront: fix array initialization bug</title>
<updated>2014-04-12T20:49:06+00:00</updated>
<author>
<name>Vincenzo Maffione</name>
<email>v.maffione@gmail.com</email>
</author>
<published>2014-04-12T09:55:40+00:00</published>
<link rel='alternate' type='text/html' href='https://git.toradex.cn/cgit/linux-toradex.git/commit/?id=810d8cedcc880dca8b64e05fe1331ab5d4f8d992'/>
<id>810d8cedcc880dca8b64e05fe1331ab5d4f8d992</id>
<content type='text'>
This patch fixes the initialization of an array used in the TX
datapath that was mistakenly initialized together with the
RX datapath arrays. An out of range array access could happen
when RX and TX rings had different sizes.

Signed-off-by: Vincenzo Maffione &lt;v.maffione@gmail.com&gt;
Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
This patch fixes the initialization of an array used in the TX
datapath that was mistakenly initialized together with the
RX datapath arrays. An out of range array access could happen
when RX and TX rings had different sizes.

Signed-off-by: Vincenzo Maffione &lt;v.maffione@gmail.com&gt;
Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/jkirsher/net</title>
<updated>2014-04-12T20:36:44+00:00</updated>
<author>
<name>David S. Miller</name>
<email>davem@davemloft.net</email>
</author>
<published>2014-04-12T20:36:44+00:00</published>
<link rel='alternate' type='text/html' href='https://git.toradex.cn/cgit/linux-toradex.git/commit/?id=dcfba949ba4ff90f5a7ff2942a4c86f9e2ba345d'/>
<id>dcfba949ba4ff90f5a7ff2942a4c86f9e2ba345d</id>
<content type='text'>
Jeff Kirsher says:

====================
Intel Wired LAN Driver Updates

This series contains updates to e1000, e1000e, igb, igbvf, ixgb, ixgbe,
ixgbevf and i40evf.

Mark fixes an issue with ixgbe and ixgbevf by adding a bit to indicate
when workqueues have been initialized.  This permits the register read
error handling from attempting to use them prior to that, which also
generates warnings.  Checking for a detected removal after initializing
the work queues allows the probe function to return an error without
getting the workqueue involved.  Further, if the error_detected
callback is entered before the workqueues are initialized, exit without
recovery since the device initialization was so truncated.

Francois Romieu provides several patches to all the drivers to remove
the open coded skb_cow_head.

Jakub Kicinski provides a fix for igb where last_rx_timestamp should be
updated only when Rx time stamp is read.

Mitch provides a fix for i40evf where a recent change broke the RSS LUT
programming causing it to be programmed with all 0's.
====================

Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Jeff Kirsher says:

====================
Intel Wired LAN Driver Updates

This series contains updates to e1000, e1000e, igb, igbvf, ixgb, ixgbe,
ixgbevf and i40evf.

Mark fixes an issue with ixgbe and ixgbevf by adding a bit to indicate
when workqueues have been initialized.  This permits the register read
error handling from attempting to use them prior to that, which also
generates warnings.  Checking for a detected removal after initializing
the work queues allows the probe function to return an error without
getting the workqueue involved.  Further, if the error_detected
callback is entered before the workqueues are initialized, exit without
recovery since the device initialization was so truncated.

Francois Romieu provides several patches to all the drivers to remove
the open coded skb_cow_head.

Jakub Kicinski provides a fix for igb where last_rx_timestamp should be
updated only when Rx time stamp is read.

Mitch provides a fix for i40evf where a recent change broke the RSS LUT
programming causing it to be programmed with all 0's.
====================

Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>r8152: check RTL8152_UNPLUG</title>
<updated>2014-04-12T05:59:38+00:00</updated>
<author>
<name>hayeswang</name>
<email>hayeswang@realtek.com</email>
</author>
<published>2014-04-11T09:54:31+00:00</published>
<link rel='alternate' type='text/html' href='https://git.toradex.cn/cgit/linux-toradex.git/commit/?id=6871438cc4e5307ccda70fa2a246a546300ac9fa'/>
<id>6871438cc4e5307ccda70fa2a246a546300ac9fa</id>
<content type='text'>
When the device is unplugged, the driver would try to disable the
device. Add checking the flag of RTL8152_UNPLUG to skip setting
the device when it is unplugged. This could shorten the time of
unloading the driver.

Signed-off-by: Hayes Wang &lt;hayeswang@realtek.com&gt;
Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
When the device is unplugged, the driver would try to disable the
device. Add checking the flag of RTL8152_UNPLUG to skip setting
the device when it is unplugged. This could shorten the time of
unloading the driver.

Signed-off-by: Hayes Wang &lt;hayeswang@realtek.com&gt;
Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>net: sun4i-emac: add promiscuous support</title>
<updated>2014-04-12T05:59:38+00:00</updated>
<author>
<name>Marc Zyngier</name>
<email>marc.zyngier@arm.com</email>
</author>
<published>2014-04-11T09:46:17+00:00</published>
<link rel='alternate' type='text/html' href='https://git.toradex.cn/cgit/linux-toradex.git/commit/?id=cec9ae50ccb1491efee90dc8e9998e29e43652b6'/>
<id>cec9ae50ccb1491efee90dc8e9998e29e43652b6</id>
<content type='text'>
The sun4i-emac driver is rather primitive, and doesn't support
promiscuous mode. This makes usage such as bridging impossible,
which is a shame on virtualization capable HW such as the
Allwinner A20.

The fix is fairly simple: move the RX setup code to the ndo_set_rx_mode
vector, and add the required HW configuration when IFF_PROMISC is passed
by the core code.

This has been tested on a generic A20 box running a few virtual
machines hanging off a bridge with the EMAC chip as the link to the
outside world.

Cc: Stefan Roese &lt;sr@denx.de&gt;
Cc: Maxime Ripard &lt;maxime.ripard@free-electrons.com&gt;
Signed-off-by: Marc Zyngier &lt;marc.zyngier@arm.com&gt;
Acked-by: Stefan Roese &lt;sr@denx.de&gt;
Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
The sun4i-emac driver is rather primitive, and doesn't support
promiscuous mode. This makes usage such as bridging impossible,
which is a shame on virtualization capable HW such as the
Allwinner A20.

The fix is fairly simple: move the RX setup code to the ndo_set_rx_mode
vector, and add the required HW configuration when IFF_PROMISC is passed
by the core code.

This has been tested on a generic A20 box running a few virtual
machines hanging off a bridge with the EMAC chip as the link to the
outside world.

Cc: Stefan Roese &lt;sr@denx.de&gt;
Cc: Maxime Ripard &lt;maxime.ripard@free-electrons.com&gt;
Signed-off-by: Marc Zyngier &lt;marc.zyngier@arm.com&gt;
Acked-by: Stefan Roese &lt;sr@denx.de&gt;
Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>net/apne: replace IS_ERR and PTR_ERR with PTR_ERR_OR_ZERO</title>
<updated>2014-04-12T05:59:38+00:00</updated>
<author>
<name>Duan Jiong</name>
<email>duanj.fnst@cn.fujitsu.com</email>
</author>
<published>2014-04-11T08:37:37+00:00</published>
<link rel='alternate' type='text/html' href='https://git.toradex.cn/cgit/linux-toradex.git/commit/?id=0af764e3f79afe7c758856a2a9376e8ee4f812d7'/>
<id>0af764e3f79afe7c758856a2a9376e8ee4f812d7</id>
<content type='text'>
This patch fixes coccinelle error regarding usage of IS_ERR and
PTR_ERR instead of PTR_ERR_OR_ZERO.

Signed-off-by: Duan Jiong &lt;duanj.fnst@cn.fujitsu.com&gt;
Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
This patch fixes coccinelle error regarding usage of IS_ERR and
PTR_ERR instead of PTR_ERR_OR_ZERO.

Signed-off-by: Duan Jiong &lt;duanj.fnst@cn.fujitsu.com&gt;
Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>Merge branch 'for-davem' of git://git.kernel.org/pub/scm/linux/kernel/git/linville/wireless</title>
<updated>2014-04-11T20:34:33+00:00</updated>
<author>
<name>David S. Miller</name>
<email>davem@davemloft.net</email>
</author>
<published>2014-04-11T20:34:33+00:00</published>
<link rel='alternate' type='text/html' href='https://git.toradex.cn/cgit/linux-toradex.git/commit/?id=6a489c4899e97f488229e5f90a1750005da1c507'/>
<id>6a489c4899e97f488229e5f90a1750005da1c507</id>
<content type='text'>
John W. Linville says:

====================
Please pull this batch of fixes intended for the 3.15 stream!

Chun-Yeow Yeoh gives us an ath9k_htc fix so that mac80211 can report
last_tx_rate correctly for those devices..

Fariya Fatima has a number of small fixes for things identified by
the static analysis folks in the new rsi driver.

Felix Fietkau brings an ath9k fix to better support some older chips,
and a fix for a scheduling while atomic bug introduced by an earlier
patch.

Janusz Dziedzic produced an ath9k fix to only enable DFS when a
related build option is selected.

Paul Bolle removes some dead code in rtlwifi.

Rafał Miłecki fixes some b43 code that was accessing some registers
with operations for the wrong register width.

Please let me know if there are problems!
====================

Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
John W. Linville says:

====================
Please pull this batch of fixes intended for the 3.15 stream!

Chun-Yeow Yeoh gives us an ath9k_htc fix so that mac80211 can report
last_tx_rate correctly for those devices..

Fariya Fatima has a number of small fixes for things identified by
the static analysis folks in the new rsi driver.

Felix Fietkau brings an ath9k fix to better support some older chips,
and a fix for a scheduling while atomic bug introduced by an earlier
patch.

Janusz Dziedzic produced an ath9k fix to only enable DFS when a
related build option is selected.

Paul Bolle removes some dead code in rtlwifi.

Rafał Miłecki fixes some b43 code that was accessing some registers
with operations for the wrong register width.

Please let me know if there are problems!
====================

Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>drivers: net: cpsw: enable interrupts after napi enable and clearing previous interrupts</title>
<updated>2014-04-11T20:27:41+00:00</updated>
<author>
<name>Mugunthan V N</name>
<email>mugunthanvnm@ti.com</email>
</author>
<published>2014-04-10T08:53:24+00:00</published>
<link rel='alternate' type='text/html' href='https://git.toradex.cn/cgit/linux-toradex.git/commit/?id=f63a975e8f07a75dbf0386402788330d0bebd8d8'/>
<id>f63a975e8f07a75dbf0386402788330d0bebd8d8</id>
<content type='text'>
When the Ethernet interface is put down and up with heavy Ethernet
traffic, then there is prossibility of an interrupt waiting in irq
controller to be processed, so when the interface is brought up again
just after enable interrupt, it goes to ISR due to the previous
unhandled interrutp and in ISR napi is not scheduled as the napi
is not enabled in ndo_open which results in disabled interrupt for
CPSW and no packets are received in cpsw. So this patch moves enabling
of interupts after napi_enable and clearing CPDMA interrupts.

Signed-off-by: Mugunthan V N &lt;mugunthanvnm@ti.com&gt;
Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
When the Ethernet interface is put down and up with heavy Ethernet
traffic, then there is prossibility of an interrupt waiting in irq
controller to be processed, so when the interface is brought up again
just after enable interrupt, it goes to ISR due to the previous
unhandled interrutp and in ISR napi is not scheduled as the napi
is not enabled in ndo_open which results in disabled interrupt for
CPSW and no packets are received in cpsw. So this patch moves enabling
of interupts after napi_enable and clearing CPDMA interrupts.

Signed-off-by: Mugunthan V N &lt;mugunthanvnm@ti.com&gt;
Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>drivers: net: cpsw: discard all packets received when interface is down</title>
<updated>2014-04-11T20:27:41+00:00</updated>
<author>
<name>Mugunthan V N</name>
<email>mugunthanvnm@ti.com</email>
</author>
<published>2014-04-10T08:53:23+00:00</published>
<link rel='alternate' type='text/html' href='https://git.toradex.cn/cgit/linux-toradex.git/commit/?id=16e5c57da61cda26998bee91a327960ebd1562f6'/>
<id>16e5c57da61cda26998bee91a327960ebd1562f6</id>
<content type='text'>
When the Ethernet interface is brought down during high Ethernet traffic,
then cpsw creates the following warn dump. When cpdma has already processed
the packet then the status will be greater than 0, so the cpsw_rx_handler
considers that the interface is up and try to resubmit one more rx buffer
to cpdma which fails as the DMA is in teardown process. This can be avoided
by checking the interface state and then process the received packet, if the
interface is down just discard and free the skb and return.

[ 2823.104591] WARNING: CPU: 0 PID: 1823 at drivers/net/ethernet/ti/cpsw.c:711 cpsw_rx_handler+0x148/0x164()
[ 2823.114654] Modules linked in:
[ 2823.117872] CPU: 0 PID: 1823 Comm: ifconfig Tainted: G        W     3.14.0-11992-gf34c4a3 #11
[ 2823.126860] [&lt;c0014b5c&gt;] (unwind_backtrace) from [&lt;c00117e4&gt;] (show_stack+0x10/0x14)
[ 2823.135030] [&lt;c00117e4&gt;] (show_stack) from [&lt;c0533a9c&gt;] (dump_stack+0x80/0x9c)
[ 2823.142619] [&lt;c0533a9c&gt;] (dump_stack) from [&lt;c003f0e0&gt;] (warn_slowpath_common+0x6c/0x90)
[ 2823.151141] [&lt;c003f0e0&gt;] (warn_slowpath_common) from [&lt;c003f120&gt;] (warn_slowpath_null+0x1c/0x24)
[ 2823.160336] [&lt;c003f120&gt;] (warn_slowpath_null) from [&lt;c03caeb0&gt;] (cpsw_rx_handler+0x148/0x164)
[ 2823.169314] [&lt;c03caeb0&gt;] (cpsw_rx_handler) from [&lt;c03c730c&gt;] (__cpdma_chan_free+0x90/0xa8)
[ 2823.178028] [&lt;c03c730c&gt;] (__cpdma_chan_free) from [&lt;c03c7418&gt;] (__cpdma_chan_process+0xf4/0x134)
[ 2823.187279] [&lt;c03c7418&gt;] (__cpdma_chan_process) from [&lt;c03c7560&gt;] (cpdma_chan_stop+0xb4/0x17c)
[ 2823.196349] [&lt;c03c7560&gt;] (cpdma_chan_stop) from [&lt;c03c766c&gt;] (cpdma_ctlr_stop+0x44/0x9c)
[ 2823.204872] [&lt;c03c766c&gt;] (cpdma_ctlr_stop) from [&lt;c03cb708&gt;] (cpsw_ndo_stop+0x154/0x188)
[ 2823.213321] [&lt;c03cb708&gt;] (cpsw_ndo_stop) from [&lt;c046f0ec&gt;] (__dev_close_many+0x84/0xc8)
[ 2823.221761] [&lt;c046f0ec&gt;] (__dev_close_many) from [&lt;c046f158&gt;] (__dev_close+0x28/0x3c)
[ 2823.230012] [&lt;c046f158&gt;] (__dev_close) from [&lt;c0474ca8&gt;] (__dev_change_flags+0x88/0x160)
[ 2823.238483] [&lt;c0474ca8&gt;] (__dev_change_flags) from [&lt;c0474da0&gt;] (dev_change_flags+0x18/0x48)
[ 2823.247316] [&lt;c0474da0&gt;] (dev_change_flags) from [&lt;c04d12c4&gt;] (devinet_ioctl+0x61c/0x6e0)
[ 2823.255884] [&lt;c04d12c4&gt;] (devinet_ioctl) from [&lt;c045c660&gt;] (sock_ioctl+0x68/0x2a4)
[ 2823.263789] [&lt;c045c660&gt;] (sock_ioctl) from [&lt;c0125fe4&gt;] (do_vfs_ioctl+0x78/0x61c)
[ 2823.271629] [&lt;c0125fe4&gt;] (do_vfs_ioctl) from [&lt;c01265ec&gt;] (SyS_ioctl+0x64/0x74)
[ 2823.279284] [&lt;c01265ec&gt;] (SyS_ioctl) from [&lt;c000e580&gt;] (ret_fast_syscall+0x0/0x48)

Signed-off-by: Mugunthan V N &lt;mugunthanvnm@ti.com&gt;
Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
When the Ethernet interface is brought down during high Ethernet traffic,
then cpsw creates the following warn dump. When cpdma has already processed
the packet then the status will be greater than 0, so the cpsw_rx_handler
considers that the interface is up and try to resubmit one more rx buffer
to cpdma which fails as the DMA is in teardown process. This can be avoided
by checking the interface state and then process the received packet, if the
interface is down just discard and free the skb and return.

[ 2823.104591] WARNING: CPU: 0 PID: 1823 at drivers/net/ethernet/ti/cpsw.c:711 cpsw_rx_handler+0x148/0x164()
[ 2823.114654] Modules linked in:
[ 2823.117872] CPU: 0 PID: 1823 Comm: ifconfig Tainted: G        W     3.14.0-11992-gf34c4a3 #11
[ 2823.126860] [&lt;c0014b5c&gt;] (unwind_backtrace) from [&lt;c00117e4&gt;] (show_stack+0x10/0x14)
[ 2823.135030] [&lt;c00117e4&gt;] (show_stack) from [&lt;c0533a9c&gt;] (dump_stack+0x80/0x9c)
[ 2823.142619] [&lt;c0533a9c&gt;] (dump_stack) from [&lt;c003f0e0&gt;] (warn_slowpath_common+0x6c/0x90)
[ 2823.151141] [&lt;c003f0e0&gt;] (warn_slowpath_common) from [&lt;c003f120&gt;] (warn_slowpath_null+0x1c/0x24)
[ 2823.160336] [&lt;c003f120&gt;] (warn_slowpath_null) from [&lt;c03caeb0&gt;] (cpsw_rx_handler+0x148/0x164)
[ 2823.169314] [&lt;c03caeb0&gt;] (cpsw_rx_handler) from [&lt;c03c730c&gt;] (__cpdma_chan_free+0x90/0xa8)
[ 2823.178028] [&lt;c03c730c&gt;] (__cpdma_chan_free) from [&lt;c03c7418&gt;] (__cpdma_chan_process+0xf4/0x134)
[ 2823.187279] [&lt;c03c7418&gt;] (__cpdma_chan_process) from [&lt;c03c7560&gt;] (cpdma_chan_stop+0xb4/0x17c)
[ 2823.196349] [&lt;c03c7560&gt;] (cpdma_chan_stop) from [&lt;c03c766c&gt;] (cpdma_ctlr_stop+0x44/0x9c)
[ 2823.204872] [&lt;c03c766c&gt;] (cpdma_ctlr_stop) from [&lt;c03cb708&gt;] (cpsw_ndo_stop+0x154/0x188)
[ 2823.213321] [&lt;c03cb708&gt;] (cpsw_ndo_stop) from [&lt;c046f0ec&gt;] (__dev_close_many+0x84/0xc8)
[ 2823.221761] [&lt;c046f0ec&gt;] (__dev_close_many) from [&lt;c046f158&gt;] (__dev_close+0x28/0x3c)
[ 2823.230012] [&lt;c046f158&gt;] (__dev_close) from [&lt;c0474ca8&gt;] (__dev_change_flags+0x88/0x160)
[ 2823.238483] [&lt;c0474ca8&gt;] (__dev_change_flags) from [&lt;c0474da0&gt;] (dev_change_flags+0x18/0x48)
[ 2823.247316] [&lt;c0474da0&gt;] (dev_change_flags) from [&lt;c04d12c4&gt;] (devinet_ioctl+0x61c/0x6e0)
[ 2823.255884] [&lt;c04d12c4&gt;] (devinet_ioctl) from [&lt;c045c660&gt;] (sock_ioctl+0x68/0x2a4)
[ 2823.263789] [&lt;c045c660&gt;] (sock_ioctl) from [&lt;c0125fe4&gt;] (do_vfs_ioctl+0x78/0x61c)
[ 2823.271629] [&lt;c0125fe4&gt;] (do_vfs_ioctl) from [&lt;c01265ec&gt;] (SyS_ioctl+0x64/0x74)
[ 2823.279284] [&lt;c01265ec&gt;] (SyS_ioctl) from [&lt;c000e580&gt;] (ret_fast_syscall+0x0/0x48)

Signed-off-by: Mugunthan V N &lt;mugunthanvnm@ti.com&gt;
Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
</pre>
</div>
</content>
</entry>
</feed>
