|
@@ -1758,10 +1758,13 @@ unknown:
|
|
|
* take such requests too, if that's ever needed: to work
|
|
|
* in config 0, etc.
|
|
|
*/
|
|
|
- list_for_each_entry(f, &cdev->config->functions, list)
|
|
|
- if (f->req_match && f->req_match(f, ctrl))
|
|
|
- goto try_fun_setup;
|
|
|
- f = NULL;
|
|
|
+ if (cdev->config) {
|
|
|
+ list_for_each_entry(f, &cdev->config->functions, list)
|
|
|
+ if (f->req_match && f->req_match(f, ctrl))
|
|
|
+ goto try_fun_setup;
|
|
|
+ f = NULL;
|
|
|
+ }
|
|
|
+
|
|
|
switch (ctrl->bRequestType & USB_RECIP_MASK) {
|
|
|
case USB_RECIP_INTERFACE:
|
|
|
if (!cdev->config || intf >= MAX_CONFIG_INTERFACES)
|