usbnet_cdc_update_filter was getting the interface number from the
usb_interface struct in cdc_state->control. However, cdc_ncm does
not initialize that structure in its bind function, but uses
cdc_ncm_ctx instead. Getting intf directly from struct usbnet solves
the problem.
Signed-off-by: Miguel Rodríguez Pérez <miguel@det.uvigo.gal>
Signed-off-by: Bjørn Mork <bjorn@mork.no>
Signed-off-by: David S. Miller <davem@davemloft.net>
 
 static void usbnet_cdc_update_filter(struct usbnet *dev)
 {
-       struct cdc_state        *info = (void *) &dev->data;
-       struct usb_interface    *intf = info->control;
        struct net_device       *net = dev->net;
 
        u16 cdc_filter = USB_CDC_PACKET_TYPE_DIRECTED
                        USB_CDC_SET_ETHERNET_PACKET_FILTER,
                        USB_TYPE_CLASS | USB_RECIP_INTERFACE,
                        cdc_filter,
-                       intf->cur_altsetting->desc.bInterfaceNumber,
+                       dev->intf->cur_altsetting->desc.bInterfaceNumber,
                        NULL,
                        0,
                        USB_CTRL_SET_TIMEOUT