err = usb_submit_urb(urb, GFP_ATOMIC);
        if (err == -ENODEV) {
                for (i = 0; i < dev->nchannels; i++) {
-                       if (!dev->nets[i])
+                       struct kvaser_usb_net_priv *priv;
+
+                       priv = dev->nets[i];
+                       if (!priv)
                                continue;
 
-                       netif_device_detach(dev->nets[i]->netdev);
+                       netif_device_detach(priv->netdev);
                }
        } else if (err) {
                dev_err(&dev->intf->dev,
 {
        const struct kvaser_usb_dev_ops *ops = dev->driver_info->ops;
        int i;
+       struct kvaser_usb_net_priv *priv;
 
        for (i = 0; i < dev->nchannels; i++) {
-               if (!dev->nets[i])
+               priv = dev->nets[i];
+               if (!priv)
                        continue;
 
-               unregister_candev(dev->nets[i]->netdev);
+               unregister_candev(priv->netdev);
        }
 
        kvaser_usb_unlink_all_urbs(dev);
 
        for (i = 0; i < dev->nchannels; i++) {
-               if (!dev->nets[i])
+               priv = dev->nets[i];
+               if (!priv)
                        continue;
 
                if (ops->dev_remove_channel)
-                       ops->dev_remove_channel(dev->nets[i]);
+                       ops->dev_remove_channel(priv);
 
-               free_candev(dev->nets[i]->netdev);
+               free_candev(priv->netdev);
        }
 }