net: hns3: add a check to pointer in error_detected and slot_reset
authorWeihang Li <liweihang@hisilicon.com>
Mon, 3 Jun 2019 02:09:17 +0000 (10:09 +0800)
committerDavid S. Miller <davem@davemloft.net>
Mon, 3 Jun 2019 22:32:50 +0000 (15:32 -0700)
commit661262bc3e0ecc9a1aed39c6b2a99766da2c22e2
tree77fa6a7ea7fa61083a9199c9d2ce0e5e347f2070
parentd9ea156297b7c2db49bf3cda11043a5ce410142f
net: hns3: add a check to pointer in error_detected and slot_reset

If we add a VF without loading hclgevf.ko and then there is a RAS error
occurs, PCIe AER will call error_detected and slot_reset of all functions,
and will get a NULL pointer when we check ad_dev->ops->handle_hw_ras_error.
This will cause a call trace and failures on handling of follow-up RAS
errors.

This patch check ae_dev and ad_dev->ops at first to solve above issues.

Signed-off-by: Weihang Li <liweihang@hisilicon.com>
Signed-off-by: Peng Li <lipeng321@huawei.com>
Signed-off-by: Huazhong Tan <tanhuazhong@huawei.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
drivers/net/ethernet/hisilicon/hns3/hns3_enet.c