lists.openwall.net | lists / announce owl-users owl-dev john-users john-dev passwdqc-users yescrypt popa3d-users / oss-security kernel-hardening musl sabotage tlsify passwords / crypt-dev xvendor / Bugtraq Full-Disclosure linux-kernel linux-netdev linux-ext4 linux-hardening linux-cve-announce PHC | |
Open Source and information security mailing list archives
| ||
|
Date: Wed, 24 Feb 2016 17:36:52 -0700 From: Troy Kisky <troy.kisky@...ndarydevices.com> To: netdev@...r.kernel.org, davem@...emloft.net, B38611@...escale.com Cc: fabio.estevam@...escale.com, l.stach@...gutronix.de, andrew@...n.ch, tremyfr@...il.com, linux@....linux.org.uk, linux-arm-kernel@...ts.infradead.org, laci@...ndarydevices.com, shawnguo@...nel.org, johannes@...solutions.net, stillcompiling@...il.com, sergei.shtylyov@...entembedded.com, arnd@...db.de, Troy Kisky <troy.kisky@...ndarydevices.com> Subject: [PATCH net-next V2 09/16] net: fec: move restart test for efficiency This saves 1 comparison. Signed-off-by: Troy Kisky <troy.kisky@...ndarydevices.com> --- drivers/net/ethernet/freescale/fec_main.c | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/drivers/net/ethernet/freescale/fec_main.c b/drivers/net/ethernet/freescale/fec_main.c index b5ed287..1902897 100644 --- a/drivers/net/ethernet/freescale/fec_main.c +++ b/drivers/net/ethernet/freescale/fec_main.c @@ -1157,8 +1157,13 @@ static void fec_txq(struct net_device *ndev, struct fec_enet_private *fep, /* Order the load of bd.cur and cbd_sc */ rmb(); status = fec16_to_cpu(READ_ONCE(bdp->cbd_sc)); - if (status & BD_ENET_TX_READY) + if (status & BD_ENET_TX_READY) { + if (!readl(txq->bd.reg_desc_active)) { + /* ERR006358 has hit, restart tx */ + writel(0, txq->bd.reg_desc_active); + } break; + } index = fec_enet_get_bd_index(bdp, &txq->bd); @@ -1230,11 +1235,6 @@ static void fec_txq(struct net_device *ndev, struct fec_enet_private *fep, netif_tx_wake_queue(nq); } } - - /* ERR006538: Keep the transmitter going */ - if (bdp != txq->bd.cur && - readl(txq->bd.reg_desc_active) == 0) - writel(0, txq->bd.reg_desc_active); } static int -- 2.5.0
Powered by blists - more mailing lists