diff --git a/net/can/af_can.c b/net/can/af_can.c index 7bc86b176b4d..c9a79e087ed3 100644 --- a/net/can/af_can.c +++ b/net/can/af_can.c @@ -528,6 +528,8 @@ void can_rx_unregister(struct net *net, struct net_device *dev, canid_t can_id, spin_lock_bh(&net->can.rcvlists_lock); dev_rcv_lists = can_dev_rcv_lists_find(net, dev); + if (!dev_rcv_lists) + goto out; rcv_list = can_rcv_list_find(&can_id, &mask, dev_rcv_lists); /* Search the receiver list for the item to delete. This should