linux/drivers/net
Parthiban Veerasooran 7d2f320e12 net: ethernet: oa_tc6: fix infinite loop error when tx credits becomes 0
SPI thread wakes up to perform SPI transfer whenever there is an TX skb
from n/w stack or interrupt from MAC-PHY. Ethernet frame from TX skb is
transferred based on the availability tx credits in the MAC-PHY which is
reported from the previous SPI transfer. Sometimes there is a possibility
that TX skb is available to transmit but there is no tx credits from
MAC-PHY. In this case, there will not be any SPI transfer but the thread
will be running in an endless loop until tx credits available again.

So checking the availability of tx credits along with TX skb will prevent
the above infinite loop. When the tx credits available again that will be
notified through interrupt which will trigger the SPI transfer to get the
available tx credits.

Fixes: 53fbde8ab2 ("net: ethernet: oa_tc6: implement transmit path to transfer tx ethernet frames")
Reviewed-by: Jacob Keller <jacob.e.keller@intel.com>
Signed-off-by: Parthiban Veerasooran <parthiban.veerasooran@microchip.com>
Signed-off-by: Paolo Abeni <pabeni@redhat.com>
2024-12-17 13:11:22 +01:00
..
arcnet
bonding bonding: Fix feature propagation of NETIF_F_GSO_ENCAP_ALL 2024-12-12 11:59:18 +01:00
caif
can rtnetlink: fix double call of rtnl_link_get_net_ifla() 2024-12-03 11:29:29 +01:00
dsa net: dsa: microchip: KSZ9896 register regmap alignment to 32 bit boundaries 2024-12-12 07:10:11 -08:00
ethernet net: ethernet: oa_tc6: fix infinite loop error when tx credits becomes 0 2024-12-17 13:11:22 +01:00
fddi
fjes net: fjes: use ethtool string helpers 2024-10-31 19:36:59 -07:00
hamradio net: hamradio: scc: Switch to irq_get_nr_irqs() 2024-10-16 21:56:57 +02:00
hippi
hyperv Merge git://git.kernel.org/pub/scm/linux/kernel/git/netdev/net 2024-10-25 09:08:22 +02:00
ieee802154 net: Switch back to struct platform_driver::remove() 2024-10-04 16:39:57 -07:00
ipa net: Switch back to struct platform_driver::remove() 2024-10-04 16:39:57 -07:00
ipvlan ipvlan: Prepare ipvlan_process_v4_outbound() to future .flowi4_tos conversion. 2024-11-03 14:28:37 -08:00
mctp net: mctp: Expose transport binding identifier via IFLA attribute 2024-11-09 09:04:54 -08:00
mdio net: mdio-ipq4019: add missing error check 2024-11-26 11:01:39 +01:00
netdevsim netdevsim: prevent bad user input in nsim_dev_health_break_write() 2024-12-15 13:26:47 -08:00
pcs net: pcs: xpcs: remove return statements in void function 2024-10-23 16:10:16 +02:00
phy net: phy: microchip: Reset LAN88xx PHY to ensure clean link state on LAN7800/7850 2024-12-02 18:56:41 -08:00
plip net: plip: fix break; causing plip to never transmit 2024-10-19 16:06:55 -05:00
ppp ppp: fix ppp_async_encode() illegal access 2024-10-10 08:47:13 -07:00
pse-pd net: pse-pd: Fix out of bound for loop 2024-10-19 15:55:56 -05:00
slip slip: make slhc_remember() more robust against malicious packets 2024-10-10 09:06:32 -07:00
team team: Fix feature exposure when no ports are present 2024-12-16 18:23:12 -08:00
thunderbolt
usb net: usb: qmi_wwan: add Telit FE910C04 compositions 2024-12-11 20:21:42 -08:00
vmxnet3 Merge git://git.kernel.org/pub/scm/linux/kernel/git/netdev/net 2024-10-21 09:14:18 +02:00
vxlan ndo_fdb_del: Add a parameter to report whether notification was sent 2024-11-15 16:39:18 -08:00
wan net: Switch back to struct platform_driver::remove() 2024-10-04 16:39:57 -07:00
wireguard wireguard: device: support big tcp GSO 2024-11-18 19:32:27 -08:00
wireless A small set of fixes: 2024-12-10 18:44:25 -08:00
wwan net: wwan: t7xx: Change PM_AUTOSUSPEND_MS to 5000 2024-11-18 18:38:20 -08:00
xen-netback
amt.c net: convert to nla_get_*_default() 2024-11-11 10:32:06 -08:00
bareudp.c bareudp: Use pcpu stats to update rx_dropped counter. 2024-10-28 11:16:32 +00:00
dummy.c rtnetlink: Remove __rtnl_link_register() 2024-11-11 17:26:51 -08:00
eql.c
geneve.c geneve: do not assume mac header is set in geneve_xmit_skb() 2024-12-04 19:21:47 -08:00
gtp.c net: convert to nla_get_*_default() 2024-11-11 10:32:06 -08:00
ifb.c rtnetlink: Remove __rtnl_link_register() 2024-11-11 17:26:51 -08:00
Kconfig testing: net-drv: add basic shaper test 2024-10-10 08:30:23 -07:00
LICENSE.SRC
loopback.c
macsec.c macsec: inherit lower device's TSO limits when offloading 2024-11-11 14:12:21 -08:00
macvlan.c ndo_fdb_del: Add a parameter to report whether notification was sent 2024-11-15 16:39:18 -08:00
macvtap.c
Makefile
mdio.c mdio: Remove mdio45_ethtool_gset_npage() 2024-11-14 19:08:55 -08:00
mhi_net.c
mii.c
net_failover.c
netconsole.c net: netconsole: split send_msg_fragmented 2024-10-22 15:44:25 +02:00
netkit.c rtnetlink: fix double call of rtnl_link_get_net_ifla() 2024-12-03 11:29:29 +01:00
nlmon.c
ntb_netdev.c
pfcp.c
rionet.c
sb1000.c
Space.c
sungem_phy.c
tap.c [tree-wide] finally take no_llseek out 2024-09-27 08:18:43 -07:00
tun.c net: tun: fix tun_napi_alloc_frags() 2024-12-13 19:33:45 -08:00
veth.c rtnetlink: fix double call of rtnl_link_get_net_ifla() 2024-12-03 11:29:29 +01:00
virtio_net.c virtio_net: ensure netdev_tx_reset_queue is called on bind xsk for tx 2024-12-10 11:22:21 +01:00
vrf.c vrf: Prepare vrf_process_v4_outbound() to future .flowi4_tos conversion. 2024-11-03 14:29:05 -08:00
vsockmon.c
xen-netfront.c