From: Luo bin <luob...@huawei.com> Date: Thu, 10 Sep 2020 22:04:40 +0800
> 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 <luob...@huawei.com> > --- > V0~V1: > - call napi_disable before netif_tx_disable instead of judging whether > the netdev is in down state before waking txq in free_tx_poll to fix > this bug Applied and queued up for -stable, thank you.