summaryrefslogtreecommitdiff
path: root/drivers/staging/media/go7007/go7007-usb.c
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/staging/media/go7007/go7007-usb.c')
-rw-r--r--drivers/staging/media/go7007/go7007-usb.c5
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 = {