Re: [PATCH net] bnxt_en: Fix potential race condition in bnxt_tx_enable()

2016-07-18 Thread Michael Chan
On Fri, Jul 15, 2016 at 11:20 PM, David Miller wrote: > From: Florian Fainelli > Date: Fri, 15 Jul 2016 16:42:01 -0700 > >> @@ -4599,7 +4599,9 @@ static void bnxt_tx_enable(struct bnxt *bp) >> for (i = 0; i < bp->tx_nr_rings; i++) { >> txr = &bp->tx_ring[i]; >> t

Re: [PATCH net] bnxt_en: Fix potential race condition in bnxt_tx_enable()

2016-07-15 Thread David Miller
From: Florian Fainelli Date: Fri, 15 Jul 2016 16:42:01 -0700 > @@ -4599,7 +4599,9 @@ static void bnxt_tx_enable(struct bnxt *bp) > for (i = 0; i < bp->tx_nr_rings; i++) { > txr = &bp->tx_ring[i]; > txq = netdev_get_tx_queue(bp->dev, i); > + __netif_tx

[PATCH net] bnxt_en: Fix potential race condition in bnxt_tx_enable()

2016-07-15 Thread Florian Fainelli
txr->dev_state is always manipulated after acquiring the transmit queue lock, except in bnxt_tx_enable(), which seems suspicious here, so also acquire the transmit queue lock before changing the value. Reported-by: coverity (CID 1339583) Fixes: c0c050c58d840 ("bnxt_en: New Broadcom ethernet driver