• Yunsheng Lin's avatar
    net: hns3: Fix warning bug when doing lp selftest · d7099d15
    Yunsheng Lin authored
    The napi_alloc_skb is excepted to be called under the
    non-preemptible code path when it is called by hns3_clean_rx_ring
    during loopback selftest, otherwise the below warning will be
    logged:
    
    [   92.420780] BUG: using smp_processor_id() in preemptible
    [00000000] code: ethtool/1873
    <SNIP>
    [   92.463202]  check_preemption_disabled+0xf8/0x100
    [   92.467893]  debug_smp_processor_id+0x1c/0x28
    [   92.472239]  __napi_alloc_skb+0x30/0x130
    [   92.476158]  hns3_clean_rx_ring+0x118/0x5f0 [hns3]
    [   92.480941]  hns3_self_test+0x32c/0x4d0 [hns3]
    [   92.485375]  ethtool_self_test+0xdc/0x1e8
    [   92.489372]  dev_ethtool+0x1020/0x1da8
    [   92.493109]  dev_ioctl+0x188/0x3a0
    [   92.496499]  sock_do_ioctl+0xf4/0x208
    [   92.500148]  sock_ioctl+0x228/0x3e8
    [   92.503626]  do_vfs_ioctl+0xc4/0x880
    [   92.507189]  SyS_ioctl+0x94/0xa8
    [   92.510404]  el0_svc_naked+0x30/0x34
    
    This patch fix it by disabling preemption when calling
    hns3_clean_rx_ring during loopback selftest.
    
    Fixes: c39c4d98 ("net: hns3: Add mac loopback selftest support in hns3 driver")
    Signed-off-by: default avatarYunsheng Lin <linyunsheng@huawei.com>
    Signed-off-by: default avatarPeng Li <lipeng321@huawei.com>
    Signed-off-by: default avatarSalil Mehta <salil.mehta@huawei.com>
    Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
    d7099d15
hns3_ethtool.c 28 KB