diff options
Diffstat (limited to 'drivers/staging/media/go7007/go7007-usb.c')
-rw-r--r-- | drivers/staging/media/go7007/go7007-usb.c | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/drivers/staging/media/go7007/go7007-usb.c b/drivers/staging/media/go7007/go7007-usb.c index 9dbf5ec..5443e25 100644 --- a/drivers/staging/media/go7007/go7007-usb.c +++ b/drivers/staging/media/go7007/go7007-usb.c @@ -1110,6 +1110,9 @@ static int go7007_usb_probe(struct usb_interface *intf, } else { u16 channel; + /* set GPIO5 to be an output, currently low */ + go7007_write_addr(go, 0x3c82, 0x0000); + go7007_write_addr(go, 0x3c80, 0x00df); /* read channel number from GPIO[1:0] */ go7007_read_addr(go, 0x3c81, &channel); channel &= 0x3; @@ -1242,6 +1245,7 @@ static void go7007_usb_disconnect(struct usb_interface *intf) struct urb *vurb, *aurb; int i; + go->status = STATUS_SHUTDOWN; usb_kill_urb(usb->intr_urb); /* Free USB-related structs */ @@ -1265,7 +1269,6 @@ static void go7007_usb_disconnect(struct usb_interface *intf) kfree(go->hpi_context); go7007_remove(go); - go->status = STATUS_SHUTDOWN; } static struct usb_driver go7007_usb_driver = { |