net: dc2114x: allow users to decide whether to detect the tx No Carrier errors
Some IP cores of dc2114x or its variants do not comply so well with the behaviors described by the official document. A packet could be sent successfully but reported with No Carrier error. Latest drivers of this IP core have not detect this error anymore. Signed-off-by: Hanyuan Zhao <zhaohy22@mails.tsinghua.edu.cn>
This commit is contained in:
@@ -770,6 +770,17 @@ config TULIP_SUPPORT_NON_PCI
|
||||
Say Y to this and you can run this driver on platforms that do not
|
||||
have PCI controllers.
|
||||
|
||||
config TULIP_IGNORE_TX_NO_CARRIER
|
||||
bool "Ignore tx no carrier error"
|
||||
depends on TULIP
|
||||
default n
|
||||
help
|
||||
Some IP cores of dc2114x or its variants do not comply so well with
|
||||
the behaviors described by the official document. A packet could be
|
||||
sent successfully but reported with No Carrier error. Latest drivers
|
||||
of this IP core do not detect this error anymore. Say Y to this could
|
||||
disable handling of this error.
|
||||
|
||||
config XILINX_AXIEMAC
|
||||
select PHYLIB
|
||||
select MII
|
||||
|
@@ -371,7 +371,9 @@ static int dc21x4x_send_common(struct dc2114x_priv *priv, void *packet, int leng
|
||||
|
||||
if (le32_to_cpu(priv->tx_ring[priv->tx_new].status) & TD_ES) {
|
||||
priv->tx_ring[priv->tx_new].status = 0x0;
|
||||
#if !CONFIG_IS_ENABLED(TULIP_IGNORE_TX_NO_CARRIER)
|
||||
goto done;
|
||||
#endif
|
||||
}
|
||||
|
||||
status = length;
|
||||
|
Reference in New Issue
Block a user