Re: [PATCH net v1] hinic: fix rewaking txq after netif_tx_disable

From: Jakub Kicinski
Date: Fri Sep 11 2020 - 11:33:41 EST


On Thu, 10 Sep 2020 22:04:40 +0800 Luo bin wrote:
> When calling hinic_close in hinic_set_channels, all queues are
> stopped after netif_tx_disable, but some queue may be rewaken in
> free_tx_poll by mistake while drv is handling tx irq. If one queue
> is rewaken core may call hinic_xmit_frame to send pkt after
> netif_tx_disable within a short time which may results in accessing
> memory that has been already freed in hinic_close. So we call
> napi_disable before netif_tx_disable in hinic_close to fix this bug.
>
> Fixes: 2eed5a8b614b ("hinic: add set_channels ethtool_ops support")
> Signed-off-by: Luo bin <luobin9@xxxxxxxxxx>

Reviewed-by: Jakub Kicinski <kuba@xxxxxxxxxx>