Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux
1
fork

Configure Feed

Select the types of activity you want to include in your feed.

Merge tag 'usb-3.15-rc2' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/usb

Pull USB fixes from Greg KH:
"Here are a number of tiny USB fixes and new device ids for 3.15-rc2.
Nothing major, just issues some people have reported.

All of these have been in linux-next"

* tag 'usb-3.15-rc2' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/usb:
uas: fix deadlocky memory allocations
uas: fix error handling during scsi_scan()
uas: fix GFP_NOIO under spinlock
uwb: adds missing error handling
USB: cdc-acm: Remove Motorola/Telit H24 serial interfaces from ACM driver
USB: ohci-jz4740: FEAT_POWER is a port feature, not a hub feature
USB: ohci-jz4740: Fix uninitialized variable warning
USB: EHCI: tegra: set txfill_tuning
usb: ehci-platform: Return immediately from suspend if ehci_suspend fails
usb: ehci-exynos: Return immediately from suspend if ehci_suspend fails
USB: fix crash during hotplug of PCI USB controller card
USB: cdc-acm: fix double usb_autopm_put_interface() in acm_port_activate()
usb: usb-common: fix typo for usb_state_string
USB: usb_wwan: fix handling of missing bulk endpoints
USB: pl2303: add ids for Hewlett-Packard HP POS pole displays
USB: cp210x: Add 8281 (Nanotec Plug & Drive)
usb: option driver, add support for Telit UE910v2
Revert "USB: serial: add usbid for dell wwan card to sierra.c"
USB: serial: ftdi_sio: add id for Brainboxes serial cards

+151 -29
+25 -9
drivers/usb/class/cdc-acm.c
··· 518 518 if (usb_submit_urb(acm->ctrlurb, GFP_KERNEL)) { 519 519 dev_err(&acm->control->dev, 520 520 "%s - usb_submit_urb(ctrl irq) failed\n", __func__); 521 + usb_autopm_put_interface(acm->control); 521 522 goto error_submit_urb; 522 523 } 523 524 524 525 acm->ctrlout = ACM_CTRL_DTR | ACM_CTRL_RTS; 525 526 if (acm_set_control(acm, acm->ctrlout) < 0 && 526 - (acm->ctrl_caps & USB_CDC_CAP_LINE)) 527 + (acm->ctrl_caps & USB_CDC_CAP_LINE)) { 528 + usb_autopm_put_interface(acm->control); 527 529 goto error_set_control; 530 + } 528 531 529 532 usb_autopm_put_interface(acm->control); 530 533 ··· 552 549 error_set_control: 553 550 usb_kill_urb(acm->ctrlurb); 554 551 error_submit_urb: 555 - usb_autopm_put_interface(acm->control); 556 552 error_get_interface: 557 553 disconnected: 558 554 mutex_unlock(&acm->mutex); ··· 1654 1652 }, 1655 1653 /* Motorola H24 HSPA module: */ 1656 1654 { USB_DEVICE(0x22b8, 0x2d91) }, /* modem */ 1657 - { USB_DEVICE(0x22b8, 0x2d92) }, /* modem + diagnostics */ 1658 - { USB_DEVICE(0x22b8, 0x2d93) }, /* modem + AT port */ 1659 - { USB_DEVICE(0x22b8, 0x2d95) }, /* modem + AT port + diagnostics */ 1660 - { USB_DEVICE(0x22b8, 0x2d96) }, /* modem + NMEA */ 1661 - { USB_DEVICE(0x22b8, 0x2d97) }, /* modem + diagnostics + NMEA */ 1662 - { USB_DEVICE(0x22b8, 0x2d99) }, /* modem + AT port + NMEA */ 1663 - { USB_DEVICE(0x22b8, 0x2d9a) }, /* modem + AT port + diagnostics + NMEA */ 1655 + { USB_DEVICE(0x22b8, 0x2d92), /* modem + diagnostics */ 1656 + .driver_info = NO_UNION_NORMAL, /* handle only modem interface */ 1657 + }, 1658 + { USB_DEVICE(0x22b8, 0x2d93), /* modem + AT port */ 1659 + .driver_info = NO_UNION_NORMAL, /* handle only modem interface */ 1660 + }, 1661 + { USB_DEVICE(0x22b8, 0x2d95), /* modem + AT port + diagnostics */ 1662 + .driver_info = NO_UNION_NORMAL, /* handle only modem interface */ 1663 + }, 1664 + { USB_DEVICE(0x22b8, 0x2d96), /* modem + NMEA */ 1665 + .driver_info = NO_UNION_NORMAL, /* handle only modem interface */ 1666 + }, 1667 + { USB_DEVICE(0x22b8, 0x2d97), /* modem + diagnostics + NMEA */ 1668 + .driver_info = NO_UNION_NORMAL, /* handle only modem interface */ 1669 + }, 1670 + { USB_DEVICE(0x22b8, 0x2d99), /* modem + AT port + NMEA */ 1671 + .driver_info = NO_UNION_NORMAL, /* handle only modem interface */ 1672 + }, 1673 + { USB_DEVICE(0x22b8, 0x2d9a), /* modem + AT port + diagnostics + NMEA */ 1674 + .driver_info = NO_UNION_NORMAL, /* handle only modem interface */ 1675 + }, 1664 1676 1665 1677 { USB_DEVICE(0x0572, 0x1329), /* Hummingbird huc56s (Conexant) */ 1666 1678 .driver_info = NO_UNION_NORMAL, /* union descriptor misplaced on
+1 -1
drivers/usb/core/hcd-pci.c
··· 75 75 PCI_SLOT(companion->devfn) != slot) 76 76 continue; 77 77 companion_hcd = pci_get_drvdata(companion); 78 - if (!companion_hcd) 78 + if (!companion_hcd || !companion_hcd->self.root_hub) 79 79 continue; 80 80 fn(pdev, hcd, companion, companion_hcd); 81 81 }
+2
drivers/usb/host/ehci-exynos.c
··· 212 212 int rc; 213 213 214 214 rc = ehci_suspend(hcd, do_wakeup); 215 + if (rc) 216 + return rc; 215 217 216 218 if (exynos_ehci->otg) 217 219 exynos_ehci->otg->set_host(exynos_ehci->otg, &hcd->self);
+2
drivers/usb/host/ehci-platform.c
··· 303 303 int ret; 304 304 305 305 ret = ehci_suspend(hcd, do_wakeup); 306 + if (ret) 307 + return ret; 306 308 307 309 if (pdata->power_suspend) 308 310 pdata->power_suspend(pdev);
+23
drivers/usb/host/ehci-tegra.c
··· 509 509 } 510 510 }; 511 511 512 + static int tegra_ehci_reset(struct usb_hcd *hcd) 513 + { 514 + struct ehci_hcd *ehci = hcd_to_ehci(hcd); 515 + int retval; 516 + int txfifothresh; 517 + 518 + retval = ehci_setup(hcd); 519 + if (retval) 520 + return retval; 521 + 522 + /* 523 + * We should really pull this value out of tegra_ehci_soc_config, but 524 + * to avoid needing access to it, make use of the fact that Tegra20 is 525 + * the only one so far that needs a value of 10, and Tegra20 is the 526 + * only one which doesn't set has_hostpc. 527 + */ 528 + txfifothresh = ehci->has_hostpc ? 0x10 : 10; 529 + ehci_writel(ehci, txfifothresh << 16, &ehci->regs->txfill_tuning); 530 + 531 + return 0; 532 + } 533 + 512 534 static const struct ehci_driver_overrides tegra_overrides __initconst = { 513 535 .extra_priv_size = sizeof(struct tegra_ehci_hcd), 536 + .reset = tegra_ehci_reset, 514 537 }; 515 538 516 539 static int __init ehci_tegra_init(void)
+3 -3
drivers/usb/host/ohci-jz4740.c
··· 82 82 u16 wIndex, char *buf, u16 wLength) 83 83 { 84 84 struct jz4740_ohci_hcd *jz4740_ohci = hcd_to_jz4740_hcd(hcd); 85 - int ret; 85 + int ret = 0; 86 86 87 87 switch (typeReq) { 88 - case SetHubFeature: 88 + case SetPortFeature: 89 89 if (wValue == USB_PORT_FEAT_POWER) 90 90 ret = ohci_jz4740_set_vbus_power(jz4740_ohci, true); 91 91 break; 92 - case ClearHubFeature: 92 + case ClearPortFeature: 93 93 if (wValue == USB_PORT_FEAT_POWER) 94 94 ret = ohci_jz4740_set_vbus_power(jz4740_ohci, false); 95 95 break;
+1
drivers/usb/serial/cp210x.c
··· 104 104 { USB_DEVICE(0x10C4, 0x8218) }, /* Lipowsky Industrie Elektronik GmbH, HARP-1 */ 105 105 { USB_DEVICE(0x10C4, 0x822B) }, /* Modem EDGE(GSM) Comander 2 */ 106 106 { USB_DEVICE(0x10C4, 0x826B) }, /* Cygnal Integrated Products, Inc., Fasttrax GPS demonstration module */ 107 + { USB_DEVICE(0x10C4, 0x8281) }, /* Nanotec Plug & Drive */ 107 108 { USB_DEVICE(0x10C4, 0x8293) }, /* Telegesis ETRX2USB */ 108 109 { USB_DEVICE(0x10C4, 0x82F9) }, /* Procyon AVS */ 109 110 { USB_DEVICE(0x10C4, 0x8341) }, /* Siemens MC35PU GPRS Modem */
+33
drivers/usb/serial/ftdi_sio.c
··· 909 909 { USB_DEVICE(FTDI_VID, FTDI_Z3X_PID) }, 910 910 /* Cressi Devices */ 911 911 { USB_DEVICE(FTDI_VID, FTDI_CRESSI_PID) }, 912 + /* Brainboxes Devices */ 913 + { USB_DEVICE(BRAINBOXES_VID, BRAINBOXES_VX_001_PID) }, 914 + { USB_DEVICE(BRAINBOXES_VID, BRAINBOXES_VX_012_PID) }, 915 + { USB_DEVICE(BRAINBOXES_VID, BRAINBOXES_VX_023_PID) }, 916 + { USB_DEVICE(BRAINBOXES_VID, BRAINBOXES_VX_034_PID) }, 917 + { USB_DEVICE(BRAINBOXES_VID, BRAINBOXES_US_101_PID) }, 918 + { USB_DEVICE(BRAINBOXES_VID, BRAINBOXES_US_160_1_PID) }, 919 + { USB_DEVICE(BRAINBOXES_VID, BRAINBOXES_US_160_2_PID) }, 920 + { USB_DEVICE(BRAINBOXES_VID, BRAINBOXES_US_160_3_PID) }, 921 + { USB_DEVICE(BRAINBOXES_VID, BRAINBOXES_US_160_4_PID) }, 922 + { USB_DEVICE(BRAINBOXES_VID, BRAINBOXES_US_160_5_PID) }, 923 + { USB_DEVICE(BRAINBOXES_VID, BRAINBOXES_US_160_6_PID) }, 924 + { USB_DEVICE(BRAINBOXES_VID, BRAINBOXES_US_160_7_PID) }, 925 + { USB_DEVICE(BRAINBOXES_VID, BRAINBOXES_US_160_8_PID) }, 926 + { USB_DEVICE(BRAINBOXES_VID, BRAINBOXES_US_257_PID) }, 927 + { USB_DEVICE(BRAINBOXES_VID, BRAINBOXES_US_279_1_PID) }, 928 + { USB_DEVICE(BRAINBOXES_VID, BRAINBOXES_US_279_2_PID) }, 929 + { USB_DEVICE(BRAINBOXES_VID, BRAINBOXES_US_279_3_PID) }, 930 + { USB_DEVICE(BRAINBOXES_VID, BRAINBOXES_US_279_4_PID) }, 931 + { USB_DEVICE(BRAINBOXES_VID, BRAINBOXES_US_313_PID) }, 932 + { USB_DEVICE(BRAINBOXES_VID, BRAINBOXES_US_324_PID) }, 933 + { USB_DEVICE(BRAINBOXES_VID, BRAINBOXES_US_346_1_PID) }, 934 + { USB_DEVICE(BRAINBOXES_VID, BRAINBOXES_US_346_2_PID) }, 935 + { USB_DEVICE(BRAINBOXES_VID, BRAINBOXES_US_357_PID) }, 936 + { USB_DEVICE(BRAINBOXES_VID, BRAINBOXES_US_606_1_PID) }, 937 + { USB_DEVICE(BRAINBOXES_VID, BRAINBOXES_US_606_2_PID) }, 938 + { USB_DEVICE(BRAINBOXES_VID, BRAINBOXES_US_606_3_PID) }, 939 + { USB_DEVICE(BRAINBOXES_VID, BRAINBOXES_US_701_1_PID) }, 940 + { USB_DEVICE(BRAINBOXES_VID, BRAINBOXES_US_701_2_PID) }, 941 + { USB_DEVICE(BRAINBOXES_VID, BRAINBOXES_US_842_1_PID) }, 942 + { USB_DEVICE(BRAINBOXES_VID, BRAINBOXES_US_842_2_PID) }, 943 + { USB_DEVICE(BRAINBOXES_VID, BRAINBOXES_US_842_3_PID) }, 944 + { USB_DEVICE(BRAINBOXES_VID, BRAINBOXES_US_842_4_PID) }, 912 945 { } /* Terminating entry */ 913 946 }; 914 947
+37
drivers/usb/serial/ftdi_sio_ids.h
··· 1326 1326 * Manufacturer: Cressi 1327 1327 */ 1328 1328 #define FTDI_CRESSI_PID 0x87d0 1329 + 1330 + /* 1331 + * Brainboxes devices 1332 + */ 1333 + #define BRAINBOXES_VID 0x05d1 1334 + #define BRAINBOXES_VX_001_PID 0x1001 /* VX-001 ExpressCard 1 Port RS232 */ 1335 + #define BRAINBOXES_VX_012_PID 0x1002 /* VX-012 ExpressCard 2 Port RS232 */ 1336 + #define BRAINBOXES_VX_023_PID 0x1003 /* VX-023 ExpressCard 1 Port RS422/485 */ 1337 + #define BRAINBOXES_VX_034_PID 0x1004 /* VX-034 ExpressCard 2 Port RS422/485 */ 1338 + #define BRAINBOXES_US_101_PID 0x1011 /* US-101 1xRS232 */ 1339 + #define BRAINBOXES_US_324_PID 0x1013 /* US-324 1xRS422/485 1Mbaud */ 1340 + #define BRAINBOXES_US_606_1_PID 0x2001 /* US-606 6 Port RS232 Serial Port 1 and 2 */ 1341 + #define BRAINBOXES_US_606_2_PID 0x2002 /* US-606 6 Port RS232 Serial Port 3 and 4 */ 1342 + #define BRAINBOXES_US_606_3_PID 0x2003 /* US-606 6 Port RS232 Serial Port 4 and 6 */ 1343 + #define BRAINBOXES_US_701_1_PID 0x2011 /* US-701 4xRS232 1Mbaud Port 1 and 2 */ 1344 + #define BRAINBOXES_US_701_2_PID 0x2012 /* US-701 4xRS422 1Mbaud Port 3 and 4 */ 1345 + #define BRAINBOXES_US_279_1_PID 0x2021 /* US-279 8xRS422 1Mbaud Port 1 and 2 */ 1346 + #define BRAINBOXES_US_279_2_PID 0x2022 /* US-279 8xRS422 1Mbaud Port 3 and 4 */ 1347 + #define BRAINBOXES_US_279_3_PID 0x2023 /* US-279 8xRS422 1Mbaud Port 5 and 6 */ 1348 + #define BRAINBOXES_US_279_4_PID 0x2024 /* US-279 8xRS422 1Mbaud Port 7 and 8 */ 1349 + #define BRAINBOXES_US_346_1_PID 0x3011 /* US-346 4xRS422/485 1Mbaud Port 1 and 2 */ 1350 + #define BRAINBOXES_US_346_2_PID 0x3012 /* US-346 4xRS422/485 1Mbaud Port 3 and 4 */ 1351 + #define BRAINBOXES_US_257_PID 0x5001 /* US-257 2xRS232 1Mbaud */ 1352 + #define BRAINBOXES_US_313_PID 0x6001 /* US-313 2xRS422/485 1Mbaud */ 1353 + #define BRAINBOXES_US_357_PID 0x7001 /* US_357 1xRS232/422/485 */ 1354 + #define BRAINBOXES_US_842_1_PID 0x8001 /* US-842 8xRS422/485 1Mbaud Port 1 and 2 */ 1355 + #define BRAINBOXES_US_842_2_PID 0x8002 /* US-842 8xRS422/485 1Mbaud Port 3 and 4 */ 1356 + #define BRAINBOXES_US_842_3_PID 0x8003 /* US-842 8xRS422/485 1Mbaud Port 5 and 6 */ 1357 + #define BRAINBOXES_US_842_4_PID 0x8004 /* US-842 8xRS422/485 1Mbaud Port 7 and 8 */ 1358 + #define BRAINBOXES_US_160_1_PID 0x9001 /* US-160 16xRS232 1Mbaud Port 1 and 2 */ 1359 + #define BRAINBOXES_US_160_2_PID 0x9002 /* US-160 16xRS232 1Mbaud Port 3 and 4 */ 1360 + #define BRAINBOXES_US_160_3_PID 0x9003 /* US-160 16xRS232 1Mbaud Port 5 and 6 */ 1361 + #define BRAINBOXES_US_160_4_PID 0x9004 /* US-160 16xRS232 1Mbaud Port 7 and 8 */ 1362 + #define BRAINBOXES_US_160_5_PID 0x9005 /* US-160 16xRS232 1Mbaud Port 9 and 10 */ 1363 + #define BRAINBOXES_US_160_6_PID 0x9006 /* US-160 16xRS232 1Mbaud Port 11 and 12 */ 1364 + #define BRAINBOXES_US_160_7_PID 0x9007 /* US-160 16xRS232 1Mbaud Port 13 and 14 */ 1365 + #define BRAINBOXES_US_160_8_PID 0x9008 /* US-160 16xRS232 1Mbaud Port 15 and 16 */
+2
drivers/usb/serial/option.c
··· 243 243 #define TELIT_PRODUCT_CC864_DUAL 0x1005 244 244 #define TELIT_PRODUCT_CC864_SINGLE 0x1006 245 245 #define TELIT_PRODUCT_DE910_DUAL 0x1010 246 + #define TELIT_PRODUCT_UE910_V2 0x1012 246 247 #define TELIT_PRODUCT_LE920 0x1200 247 248 248 249 /* ZTE PRODUCTS */ ··· 1042 1041 { USB_DEVICE(TELIT_VENDOR_ID, TELIT_PRODUCT_CC864_DUAL) }, 1043 1042 { USB_DEVICE(TELIT_VENDOR_ID, TELIT_PRODUCT_CC864_SINGLE) }, 1044 1043 { USB_DEVICE(TELIT_VENDOR_ID, TELIT_PRODUCT_DE910_DUAL) }, 1044 + { USB_DEVICE(TELIT_VENDOR_ID, TELIT_PRODUCT_UE910_V2) }, 1045 1045 { USB_DEVICE(TELIT_VENDOR_ID, TELIT_PRODUCT_LE920), 1046 1046 .driver_info = (kernel_ulong_t)&telit_le920_blacklist }, 1047 1047 { USB_DEVICE_AND_INTERFACE_INFO(ZTE_VENDOR_ID, ZTE_PRODUCT_MF622, 0xff, 0xff, 0xff) }, /* ZTE WCDMA products */
+3
drivers/usb/serial/pl2303.c
··· 83 83 { USB_DEVICE(YCCABLE_VENDOR_ID, YCCABLE_PRODUCT_ID) }, 84 84 { USB_DEVICE(SUPERIAL_VENDOR_ID, SUPERIAL_PRODUCT_ID) }, 85 85 { USB_DEVICE(HP_VENDOR_ID, HP_LD220_PRODUCT_ID) }, 86 + { USB_DEVICE(HP_VENDOR_ID, HP_LD960_PRODUCT_ID) }, 87 + { USB_DEVICE(HP_VENDOR_ID, HP_LCM220_PRODUCT_ID) }, 88 + { USB_DEVICE(HP_VENDOR_ID, HP_LCM960_PRODUCT_ID) }, 86 89 { USB_DEVICE(CRESSI_VENDOR_ID, CRESSI_EDY_PRODUCT_ID) }, 87 90 { USB_DEVICE(ZEAGLE_VENDOR_ID, ZEAGLE_N2ITION3_PRODUCT_ID) }, 88 91 { USB_DEVICE(SONY_VENDOR_ID, SONY_QN3USB_PRODUCT_ID) },
+4 -1
drivers/usb/serial/pl2303.h
··· 121 121 #define SUPERIAL_VENDOR_ID 0x5372 122 122 #define SUPERIAL_PRODUCT_ID 0x2303 123 123 124 - /* Hewlett-Packard LD220-HP POS Pole Display */ 124 + /* Hewlett-Packard POS Pole Displays */ 125 125 #define HP_VENDOR_ID 0x03f0 126 + #define HP_LD960_PRODUCT_ID 0x0b39 127 + #define HP_LCM220_PRODUCT_ID 0x3139 128 + #define HP_LCM960_PRODUCT_ID 0x3239 126 129 #define HP_LD220_PRODUCT_ID 0x3524 127 130 128 131 /* Cressi Edy (diving computer) PC interface */
-1
drivers/usb/serial/sierra.c
··· 291 291 { USB_DEVICE(0x0f3d, 0x68A3), /* Airprime/Sierra Wireless Direct IP modems */ 292 292 .driver_info = (kernel_ulong_t)&direct_ip_interface_blacklist 293 293 }, 294 - { USB_DEVICE(0x413C, 0x08133) }, /* Dell Computer Corp. Wireless 5720 VZW Mobile Broadband (EVDO Rev-A) Minicard GPS Port */ 295 294 296 295 { } 297 296 };
+3 -6
drivers/usb/serial/usb_wwan.c
··· 466 466 int err; 467 467 int i; 468 468 469 + if (!port->bulk_in_size || !port->bulk_out_size) 470 + return -ENODEV; 471 + 469 472 portdata = kzalloc(sizeof(*portdata), GFP_KERNEL); 470 473 if (!portdata) 471 474 return -ENOMEM; ··· 476 473 init_usb_anchor(&portdata->delayed); 477 474 478 475 for (i = 0; i < N_IN_URB; i++) { 479 - if (!port->bulk_in_size) 480 - break; 481 - 482 476 buffer = (u8 *)__get_free_page(GFP_KERNEL); 483 477 if (!buffer) 484 478 goto bail_out_error; ··· 489 489 } 490 490 491 491 for (i = 0; i < N_OUT_URB; i++) { 492 - if (!port->bulk_out_size) 493 - break; 494 - 495 492 buffer = kmalloc(OUT_BUFLEN, GFP_KERNEL); 496 493 if (!buffer) 497 494 goto bail_out_error2;
+7 -6
drivers/usb/storage/uas.c
··· 137 137 if (!(cmdinfo->state & IS_IN_WORK_LIST)) 138 138 continue; 139 139 140 - err = uas_submit_urbs(cmnd, cmnd->device->hostdata, GFP_NOIO); 140 + err = uas_submit_urbs(cmnd, cmnd->device->hostdata, GFP_ATOMIC); 141 141 if (!err) 142 142 cmdinfo->state &= ~IS_IN_WORK_LIST; 143 143 else ··· 803 803 804 804 devinfo->running_task = 1; 805 805 memset(&devinfo->response, 0, sizeof(devinfo->response)); 806 - sense_urb = uas_submit_sense_urb(cmnd, GFP_NOIO, 806 + sense_urb = uas_submit_sense_urb(cmnd, GFP_ATOMIC, 807 807 devinfo->use_streams ? tag : 0); 808 808 if (!sense_urb) { 809 809 shost_printk(KERN_INFO, shost, ··· 813 813 spin_unlock_irqrestore(&devinfo->lock, flags); 814 814 return FAILED; 815 815 } 816 - if (uas_submit_task_urb(cmnd, GFP_NOIO, function, tag)) { 816 + if (uas_submit_task_urb(cmnd, GFP_ATOMIC, function, tag)) { 817 817 shost_printk(KERN_INFO, shost, 818 818 "%s: %s: submit task mgmt urb failed\n", 819 819 __func__, fname); ··· 1030 1030 devinfo->use_streams = 0; 1031 1031 } else { 1032 1032 devinfo->qdepth = usb_alloc_streams(devinfo->intf, eps + 1, 1033 - 3, 256, GFP_KERNEL); 1033 + 3, 256, GFP_NOIO); 1034 1034 if (devinfo->qdepth < 0) 1035 1035 return devinfo->qdepth; 1036 1036 devinfo->use_streams = 1; ··· 1047 1047 eps[0] = usb_pipe_endpoint(udev, devinfo->status_pipe); 1048 1048 eps[1] = usb_pipe_endpoint(udev, devinfo->data_in_pipe); 1049 1049 eps[2] = usb_pipe_endpoint(udev, devinfo->data_out_pipe); 1050 - usb_free_streams(devinfo->intf, eps, 3, GFP_KERNEL); 1050 + usb_free_streams(devinfo->intf, eps, 3, GFP_NOIO); 1051 1051 } 1052 1052 1053 1053 static int uas_probe(struct usb_interface *intf, const struct usb_device_id *id) ··· 1096 1096 if (result) 1097 1097 goto free_streams; 1098 1098 1099 + usb_set_intfdata(intf, shost); 1099 1100 result = scsi_add_host(shost, &intf->dev); 1100 1101 if (result) 1101 1102 goto free_streams; 1102 1103 1103 1104 scsi_scan_host(shost); 1104 - usb_set_intfdata(intf, shost); 1105 1105 return result; 1106 1106 1107 1107 free_streams: 1108 1108 uas_free_streams(devinfo); 1109 + usb_set_intfdata(intf, NULL); 1109 1110 set_alt0: 1110 1111 usb_set_interface(udev, intf->altsetting[0].desc.bInterfaceNumber, 0); 1111 1112 if (shost)
+1 -1
drivers/usb/usb-common.c
··· 69 69 [USB_STATE_RECONNECTING] = "reconnecting", 70 70 [USB_STATE_UNAUTHENTICATED] = "unauthenticated", 71 71 [USB_STATE_DEFAULT] = "default", 72 - [USB_STATE_ADDRESS] = "addresssed", 72 + [USB_STATE_ADDRESS] = "addressed", 73 73 [USB_STATE_CONFIGURED] = "configured", 74 74 [USB_STATE_SUSPENDED] = "suspended", 75 75 };
+4 -1
drivers/uwb/drp.c
··· 599 599 600 600 /* alloc and initialize new uwb_cnflt_alien */ 601 601 cnflt = kzalloc(sizeof(struct uwb_cnflt_alien), GFP_KERNEL); 602 - if (!cnflt) 602 + if (!cnflt) { 603 603 dev_err(dev, "failed to alloc uwb_cnflt_alien struct\n"); 604 + return; 605 + } 606 + 604 607 INIT_LIST_HEAD(&cnflt->rc_node); 605 608 init_timer(&cnflt->timer); 606 609 cnflt->timer.function = uwb_cnflt_timer;