static int flexcop_usb_init(struct flexcop_usb *fc_usb)
 {
-       /* use the alternate setting with the larges buffer */
-       int ret = usb_set_interface(fc_usb->udev, 0, 1);
+       struct usb_host_interface *alt;
+       int ret;
 
+       /* use the alternate setting with the largest buffer */
+       ret = usb_set_interface(fc_usb->udev, 0, 1);
        if (ret) {
                err("set interface failed.");
                return ret;
        }
 
-       if (fc_usb->uintf->cur_altsetting->desc.bNumEndpoints < 1)
+       alt = fc_usb->uintf->cur_altsetting;
+
+       if (alt->desc.bNumEndpoints < 1)
                return -ENODEV;
-       if (!usb_endpoint_is_isoc_in(&fc_usb->uintf->cur_altsetting->endpoint[0].desc))
+       if (!usb_endpoint_is_isoc_in(&alt->endpoint[0].desc))
                return -ENODEV;
 
        switch (fc_usb->udev->speed) {