summaryrefslogtreecommitdiff
path: root/firmware/usbstack
diff options
context:
space:
mode:
authorChristian Gmeiner <christian.gmeiner@gmail.com>2007-08-29 22:04:09 +0000
committerChristian Gmeiner <christian.gmeiner@gmail.com>2007-08-29 22:04:09 +0000
commitc7b3f8be9b1ea505463c3d8ba17740af36c6df2c (patch)
treea9bc74c8911ee8d67f3f74dd861fc59a8289205a /firmware/usbstack
parent6fd7573d32b92816e5691e707907e5bcc7c8db1e (diff)
downloadrockbox-c7b3f8be9b1ea505463c3d8ba17740af36c6df2c.zip
rockbox-c7b3f8be9b1ea505463c3d8ba17740af36c6df2c.tar.gz
rockbox-c7b3f8be9b1ea505463c3d8ba17740af36c6df2c.tar.bz2
rockbox-c7b3f8be9b1ea505463c3d8ba17740af36c6df2c.tar.xz
add missing get configuration request handling
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@14530 a1c6a512-1295-4272-9138-f99709370657
Diffstat (limited to 'firmware/usbstack')
-rw-r--r--firmware/usbstack/drivers/device/usb_storage.c9
1 files changed, 9 insertions, 0 deletions
diff --git a/firmware/usbstack/drivers/device/usb_storage.c b/firmware/usbstack/drivers/device/usb_storage.c
index 8c96914..49644e5 100644
--- a/firmware/usbstack/drivers/device/usb_storage.c
+++ b/firmware/usbstack/drivers/device/usb_storage.c
@@ -151,6 +151,7 @@ struct device {
struct usb_ep* in;
struct usb_ep* out;
struct usb_ep* intr;
+ uint32_t used_config;
struct usb_descriptor_header** descriptors;
};
@@ -253,6 +254,12 @@ int usb_storage_driver_request(struct usb_ctrlrequest* request)
ret = set_config(request->wValue);
break;
+ case USB_REQ_GET_CONFIGURATION:
+ logf("usb storage: get configuration");
+ ret = 1;
+ res.buf = &dev.used_config;
+ break;
+
case USB_REQ_SET_INTERFACE:
logf("usb storage: set interface");
ret = 0;
@@ -326,6 +333,8 @@ static int set_config(int config)
logf("setup %s", dev.out->name);
ops->enable(dev.out, (struct usb_endpoint_descriptor*)dev.descriptors[2]);
+ dev.used_config = config;
+
/* setup buffers */
return 0;