@@ -371,8 +371,10 @@ int cdc_ncm_bind_common(struct usbnet *dev, struct usb_interface *intf, u8 data_
371371 union_desc = (const struct usb_cdc_union_desc * )buf ;
372372 /* the master must be the interface we are probing */
373373 if (intf -> cur_altsetting -> desc .bInterfaceNumber !=
374- union_desc -> bMasterInterface0 )
374+ union_desc -> bMasterInterface0 ) {
375+ dev_dbg (& intf -> dev , "bogus CDC Union\n" );
375376 goto error ;
377+ }
376378 ctx -> data = usb_ifnum_to_if (dev -> udev ,
377379 union_desc -> bSlaveInterface0 );
378380 break ;
@@ -416,45 +418,59 @@ int cdc_ncm_bind_common(struct usbnet *dev, struct usb_interface *intf, u8 data_
416418 }
417419
418420 /* check if we got everything */
419- if (!ctx -> data || (!ctx -> mbim_desc && !ctx -> ether_desc ))
421+ if (!ctx -> data || (!ctx -> mbim_desc && !ctx -> ether_desc )) {
422+ dev_dbg (& intf -> dev , "CDC descriptors missing\n" );
420423 goto error ;
424+ }
421425
422426 /* claim data interface, if different from control */
423427 if (ctx -> data != ctx -> control ) {
424428 temp = usb_driver_claim_interface (driver , ctx -> data , dev );
425- if (temp )
429+ if (temp ) {
430+ dev_dbg (& intf -> dev , "failed to claim data intf\n" );
426431 goto error ;
432+ }
427433 }
428434
429435 iface_no = ctx -> data -> cur_altsetting -> desc .bInterfaceNumber ;
430436
431437 /* reset data interface */
432438 temp = usb_set_interface (dev -> udev , iface_no , 0 );
433- if (temp )
439+ if (temp ) {
440+ dev_dbg (& intf -> dev , "set interface failed\n" );
434441 goto error2 ;
442+ }
435443
436444 /* configure data interface */
437445 temp = usb_set_interface (dev -> udev , iface_no , data_altsetting );
438- if (temp )
446+ if (temp ) {
447+ dev_dbg (& intf -> dev , "set interface failed\n" );
439448 goto error2 ;
449+ }
440450
441451 cdc_ncm_find_endpoints (dev , ctx -> data );
442452 cdc_ncm_find_endpoints (dev , ctx -> control );
443- if (!dev -> in || !dev -> out || !dev -> status )
453+ if (!dev -> in || !dev -> out || !dev -> status ) {
454+ dev_dbg (& intf -> dev , "failed to collect endpoints\n" );
444455 goto error2 ;
456+ }
445457
446458 /* initialize data interface */
447- if (cdc_ncm_setup (dev ))
459+ if (cdc_ncm_setup (dev )) {
460+ dev_dbg (& intf -> dev , "cdc_ncm_setup() failed\n" );
448461 goto error2 ;
462+ }
449463
450464 usb_set_intfdata (ctx -> data , dev );
451465 usb_set_intfdata (ctx -> control , dev );
452466
453467 if (ctx -> ether_desc ) {
454468 temp = usbnet_get_ethernet_addr (dev , ctx -> ether_desc -> iMACAddress );
455- if (temp )
469+ if (temp ) {
470+ dev_dbg (& intf -> dev , "failed to get mac address\n" );
456471 goto error2 ;
457- dev_info (& dev -> udev -> dev , "MAC-Address: %pM\n" , dev -> net -> dev_addr );
472+ }
473+ dev_info (& intf -> dev , "MAC-Address: %pM\n" , dev -> net -> dev_addr );
458474 }
459475
460476 /* usbnet use these values for sizing tx/rx queues */
@@ -471,7 +487,7 @@ int cdc_ncm_bind_common(struct usbnet *dev, struct usb_interface *intf, u8 data_
471487error :
472488 cdc_ncm_free ((struct cdc_ncm_ctx * )dev -> data [0 ]);
473489 dev -> data [0 ] = 0 ;
474- dev_info (& dev -> udev -> dev , "bind() failure\n" );
490+ dev_info (& intf -> dev , "bind() failure\n" );
475491 return - ENODEV ;
476492}
477493EXPORT_SYMBOL_GPL (cdc_ncm_bind_common );
0 commit comments