mirror of
https://github.com/hardkernel/linux.git
synced 2026-04-24 06:21:30 +09:00
USB: composite: Allow configurations to handle unhandled setup requests
Signed-off-by: Mike Lockwood <lockwood@android.com>
This commit is contained in:
@@ -983,6 +983,25 @@ unknown:
|
||||
value = c->setup(c, ctrl);
|
||||
}
|
||||
|
||||
/* If the vendor request is not processed (value < 0),
|
||||
* call all device registered configure setup callbacks
|
||||
* to process it.
|
||||
* This is used to handle the following cases:
|
||||
* - vendor request is for the device and arrives before
|
||||
* setconfiguration.
|
||||
* - Some devices are required to handle vendor request before
|
||||
* setconfiguration such as MTP, USBNET.
|
||||
*/
|
||||
|
||||
if (value < 0) {
|
||||
struct usb_configuration *cfg;
|
||||
|
||||
list_for_each_entry(cfg, &cdev->configs, list) {
|
||||
if (cfg && cfg->setup)
|
||||
value = cfg->setup(cfg, ctrl);
|
||||
}
|
||||
}
|
||||
|
||||
goto done;
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user