Loading Documentation/usb/error-codes.txt +3 −2 Original line number Original line Diff line number Diff line Loading @@ -46,8 +46,9 @@ USB-specific: -EMSGSIZE (a) endpoint maxpacket size is zero; it is not usable -EMSGSIZE (a) endpoint maxpacket size is zero; it is not usable in the current interface altsetting. in the current interface altsetting. (b) ISO packet is biger than endpoint maxpacket (b) ISO packet is larger than the endpoint maxpacket. (c) requested data transfer size is invalid (negative) (c) requested data transfer length is invalid: negative or too large for the host controller. -ENOSPC This request would overcommit the usb bandwidth reserved -ENOSPC This request would overcommit the usb bandwidth reserved for periodic transfers (interrupt, isochronous). for periodic transfers (interrupt, isochronous). Loading drivers/hwmon/w83792d.c +18 −7 Original line number Original line Diff line number Diff line Loading @@ -193,6 +193,7 @@ static const u8 W83792D_REG_LEVELS[3][4] = { 0xE2 } /* (bit3-0) SmartFanII: Fan3 Level 3 */ 0xE2 } /* (bit3-0) SmartFanII: Fan3 Level 3 */ }; }; #define W83792D_REG_GPIO_EN 0x1A #define W83792D_REG_CONFIG 0x40 #define W83792D_REG_CONFIG 0x40 #define W83792D_REG_VID_FANDIV 0x47 #define W83792D_REG_VID_FANDIV 0x47 #define W83792D_REG_CHIPID 0x49 #define W83792D_REG_CHIPID 0x49 Loading Loading @@ -257,7 +258,7 @@ DIV_TO_REG(long val) { { int i; int i; val = SENSORS_LIMIT(val, 1, 128) >> 1; val = SENSORS_LIMIT(val, 1, 128) >> 1; for (i = 0; i < 6; i++) { for (i = 0; i < 7; i++) { if (val == 0) if (val == 0) break; break; val >>= 1; val >>= 1; Loading Loading @@ -1282,8 +1283,8 @@ w83792d_detect(struct i2c_adapter *adapter, int address, int kind) w83792d_init_client(new_client); w83792d_init_client(new_client); /* A few vars need to be filled upon startup */ /* A few vars need to be filled upon startup */ for (i = 1; i <= 7; i++) { for (i = 0; i < 7; i++) { data->fan_min[i - 1] = w83792d_read_value(new_client, data->fan_min[i] = w83792d_read_value(new_client, W83792D_REG_FAN_MIN[i]); W83792D_REG_FAN_MIN[i]); } } Loading @@ -1306,9 +1307,19 @@ w83792d_detect(struct i2c_adapter *adapter, int address, int kind) device_create_file_fan(new_client, 1); device_create_file_fan(new_client, 1); device_create_file_fan(new_client, 2); device_create_file_fan(new_client, 2); device_create_file_fan(new_client, 3); device_create_file_fan(new_client, 3); /* Read GPIO enable register to check if pins for fan 4,5 are used as GPIO */ val1 = w83792d_read_value(new_client, W83792D_REG_GPIO_EN); if (!(val1 & 0x40)) device_create_file_fan(new_client, 4); device_create_file_fan(new_client, 4); if (!(val1 & 0x20)) device_create_file_fan(new_client, 5); device_create_file_fan(new_client, 5); val1 = w83792d_read_value(new_client, W83792D_REG_PIN); if (val1 & 0x40) device_create_file_fan(new_client, 6); device_create_file_fan(new_client, 6); if (val1 & 0x04) device_create_file_fan(new_client, 7); device_create_file_fan(new_client, 7); device_create_file_temp1(new_client); /* Temp1 */ device_create_file_temp1(new_client); /* Temp1 */ Loading drivers/usb/atm/cxacru.c +3 −0 Original line number Original line Diff line number Diff line Loading @@ -787,6 +787,9 @@ static const struct usb_device_id cxacru_usb_ids[] = { { /* V = Conexant P = ADSL modem (Hasbani project) */ { /* V = Conexant P = ADSL modem (Hasbani project) */ USB_DEVICE(0x0572, 0xcb00), .driver_info = (unsigned long) &cxacru_cb00 USB_DEVICE(0x0572, 0xcb00), .driver_info = (unsigned long) &cxacru_cb00 }, }, { /* V = Conexant P = ADSL modem (Well PTI-800 */ USB_DEVICE(0x0572, 0xcb02), .driver_info = (unsigned long) &cxacru_cb00 }, { /* V = Conexant P = ADSL modem */ { /* V = Conexant P = ADSL modem */ USB_DEVICE(0x0572, 0xcb01), .driver_info = (unsigned long) &cxacru_cb00 USB_DEVICE(0x0572, 0xcb01), .driver_info = (unsigned long) &cxacru_cb00 }, }, Loading drivers/usb/core/hcd-pci.c +2 −1 Original line number Original line Diff line number Diff line Loading @@ -219,6 +219,7 @@ int usb_hcd_pci_suspend (struct pci_dev *dev, pm_message_t message) goto done; goto done; } } } } synchronize_irq(dev->irq); /* FIXME until the generic PM interfaces change a lot more, this /* FIXME until the generic PM interfaces change a lot more, this * can't use PCI D1 and D2 states. For example, the confusion * can't use PCI D1 and D2 states. For example, the confusion Loading Loading @@ -392,7 +393,7 @@ int usb_hcd_pci_resume (struct pci_dev *dev) dev->dev.power.power_state = PMSG_ON; dev->dev.power.power_state = PMSG_ON; hcd->saw_irq = 0; clear_bit(HCD_FLAG_SAW_IRQ, &hcd->flags); if (hcd->driver->resume) { if (hcd->driver->resume) { retval = hcd->driver->resume(hcd); retval = hcd->driver->resume(hcd); Loading drivers/usb/core/hcd.c +10 −5 Original line number Original line Diff line number Diff line Loading @@ -1315,11 +1315,12 @@ static int hcd_unlink_urb (struct urb *urb, int status) * finish unlinking the initial failed usb_set_address() * finish unlinking the initial failed usb_set_address() * or device descriptor fetch. * or device descriptor fetch. */ */ if (!hcd->saw_irq && hcd->self.root_hub != urb->dev) { if (!test_bit(HCD_FLAG_SAW_IRQ, &hcd->flags) && hcd->self.root_hub != urb->dev) { dev_warn (hcd->self.controller, "Unlink after no-IRQ? " dev_warn (hcd->self.controller, "Unlink after no-IRQ? " "Controller is probably using the wrong IRQ." "Controller is probably using the wrong IRQ." "\n"); "\n"); hcd->saw_irq = 1; set_bit(HCD_FLAG_SAW_IRQ, &hcd->flags); } } urb->status = status; urb->status = status; Loading Loading @@ -1649,13 +1650,15 @@ irqreturn_t usb_hcd_irq (int irq, void *__hcd, struct pt_regs * r) struct usb_hcd *hcd = __hcd; struct usb_hcd *hcd = __hcd; int start = hcd->state; int start = hcd->state; if (start == HC_STATE_HALT) if (unlikely(start == HC_STATE_HALT || !test_bit(HCD_FLAG_HW_ACCESSIBLE, &hcd->flags))) return IRQ_NONE; return IRQ_NONE; if (hcd->driver->irq (hcd, r) == IRQ_NONE) if (hcd->driver->irq (hcd, r) == IRQ_NONE) return IRQ_NONE; return IRQ_NONE; hcd->saw_irq = 1; set_bit(HCD_FLAG_SAW_IRQ, &hcd->flags); if (hcd->state == HC_STATE_HALT) if (unlikely(hcd->state == HC_STATE_HALT)) usb_hc_died (hcd); usb_hc_died (hcd); return IRQ_HANDLED; return IRQ_HANDLED; } } Loading Loading @@ -1768,6 +1771,8 @@ int usb_add_hcd(struct usb_hcd *hcd, dev_info(hcd->self.controller, "%s\n", hcd->product_desc); dev_info(hcd->self.controller, "%s\n", hcd->product_desc); set_bit(HCD_FLAG_HW_ACCESSIBLE, &hcd->flags); /* till now HC has been in an indeterminate state ... */ /* till now HC has been in an indeterminate state ... */ if (hcd->driver->reset && (retval = hcd->driver->reset(hcd)) < 0) { if (hcd->driver->reset && (retval = hcd->driver->reset(hcd)) < 0) { dev_err(hcd->self.controller, "can't reset\n"); dev_err(hcd->self.controller, "can't reset\n"); Loading Loading
Documentation/usb/error-codes.txt +3 −2 Original line number Original line Diff line number Diff line Loading @@ -46,8 +46,9 @@ USB-specific: -EMSGSIZE (a) endpoint maxpacket size is zero; it is not usable -EMSGSIZE (a) endpoint maxpacket size is zero; it is not usable in the current interface altsetting. in the current interface altsetting. (b) ISO packet is biger than endpoint maxpacket (b) ISO packet is larger than the endpoint maxpacket. (c) requested data transfer size is invalid (negative) (c) requested data transfer length is invalid: negative or too large for the host controller. -ENOSPC This request would overcommit the usb bandwidth reserved -ENOSPC This request would overcommit the usb bandwidth reserved for periodic transfers (interrupt, isochronous). for periodic transfers (interrupt, isochronous). Loading
drivers/hwmon/w83792d.c +18 −7 Original line number Original line Diff line number Diff line Loading @@ -193,6 +193,7 @@ static const u8 W83792D_REG_LEVELS[3][4] = { 0xE2 } /* (bit3-0) SmartFanII: Fan3 Level 3 */ 0xE2 } /* (bit3-0) SmartFanII: Fan3 Level 3 */ }; }; #define W83792D_REG_GPIO_EN 0x1A #define W83792D_REG_CONFIG 0x40 #define W83792D_REG_CONFIG 0x40 #define W83792D_REG_VID_FANDIV 0x47 #define W83792D_REG_VID_FANDIV 0x47 #define W83792D_REG_CHIPID 0x49 #define W83792D_REG_CHIPID 0x49 Loading Loading @@ -257,7 +258,7 @@ DIV_TO_REG(long val) { { int i; int i; val = SENSORS_LIMIT(val, 1, 128) >> 1; val = SENSORS_LIMIT(val, 1, 128) >> 1; for (i = 0; i < 6; i++) { for (i = 0; i < 7; i++) { if (val == 0) if (val == 0) break; break; val >>= 1; val >>= 1; Loading Loading @@ -1282,8 +1283,8 @@ w83792d_detect(struct i2c_adapter *adapter, int address, int kind) w83792d_init_client(new_client); w83792d_init_client(new_client); /* A few vars need to be filled upon startup */ /* A few vars need to be filled upon startup */ for (i = 1; i <= 7; i++) { for (i = 0; i < 7; i++) { data->fan_min[i - 1] = w83792d_read_value(new_client, data->fan_min[i] = w83792d_read_value(new_client, W83792D_REG_FAN_MIN[i]); W83792D_REG_FAN_MIN[i]); } } Loading @@ -1306,9 +1307,19 @@ w83792d_detect(struct i2c_adapter *adapter, int address, int kind) device_create_file_fan(new_client, 1); device_create_file_fan(new_client, 1); device_create_file_fan(new_client, 2); device_create_file_fan(new_client, 2); device_create_file_fan(new_client, 3); device_create_file_fan(new_client, 3); /* Read GPIO enable register to check if pins for fan 4,5 are used as GPIO */ val1 = w83792d_read_value(new_client, W83792D_REG_GPIO_EN); if (!(val1 & 0x40)) device_create_file_fan(new_client, 4); device_create_file_fan(new_client, 4); if (!(val1 & 0x20)) device_create_file_fan(new_client, 5); device_create_file_fan(new_client, 5); val1 = w83792d_read_value(new_client, W83792D_REG_PIN); if (val1 & 0x40) device_create_file_fan(new_client, 6); device_create_file_fan(new_client, 6); if (val1 & 0x04) device_create_file_fan(new_client, 7); device_create_file_fan(new_client, 7); device_create_file_temp1(new_client); /* Temp1 */ device_create_file_temp1(new_client); /* Temp1 */ Loading
drivers/usb/atm/cxacru.c +3 −0 Original line number Original line Diff line number Diff line Loading @@ -787,6 +787,9 @@ static const struct usb_device_id cxacru_usb_ids[] = { { /* V = Conexant P = ADSL modem (Hasbani project) */ { /* V = Conexant P = ADSL modem (Hasbani project) */ USB_DEVICE(0x0572, 0xcb00), .driver_info = (unsigned long) &cxacru_cb00 USB_DEVICE(0x0572, 0xcb00), .driver_info = (unsigned long) &cxacru_cb00 }, }, { /* V = Conexant P = ADSL modem (Well PTI-800 */ USB_DEVICE(0x0572, 0xcb02), .driver_info = (unsigned long) &cxacru_cb00 }, { /* V = Conexant P = ADSL modem */ { /* V = Conexant P = ADSL modem */ USB_DEVICE(0x0572, 0xcb01), .driver_info = (unsigned long) &cxacru_cb00 USB_DEVICE(0x0572, 0xcb01), .driver_info = (unsigned long) &cxacru_cb00 }, }, Loading
drivers/usb/core/hcd-pci.c +2 −1 Original line number Original line Diff line number Diff line Loading @@ -219,6 +219,7 @@ int usb_hcd_pci_suspend (struct pci_dev *dev, pm_message_t message) goto done; goto done; } } } } synchronize_irq(dev->irq); /* FIXME until the generic PM interfaces change a lot more, this /* FIXME until the generic PM interfaces change a lot more, this * can't use PCI D1 and D2 states. For example, the confusion * can't use PCI D1 and D2 states. For example, the confusion Loading Loading @@ -392,7 +393,7 @@ int usb_hcd_pci_resume (struct pci_dev *dev) dev->dev.power.power_state = PMSG_ON; dev->dev.power.power_state = PMSG_ON; hcd->saw_irq = 0; clear_bit(HCD_FLAG_SAW_IRQ, &hcd->flags); if (hcd->driver->resume) { if (hcd->driver->resume) { retval = hcd->driver->resume(hcd); retval = hcd->driver->resume(hcd); Loading
drivers/usb/core/hcd.c +10 −5 Original line number Original line Diff line number Diff line Loading @@ -1315,11 +1315,12 @@ static int hcd_unlink_urb (struct urb *urb, int status) * finish unlinking the initial failed usb_set_address() * finish unlinking the initial failed usb_set_address() * or device descriptor fetch. * or device descriptor fetch. */ */ if (!hcd->saw_irq && hcd->self.root_hub != urb->dev) { if (!test_bit(HCD_FLAG_SAW_IRQ, &hcd->flags) && hcd->self.root_hub != urb->dev) { dev_warn (hcd->self.controller, "Unlink after no-IRQ? " dev_warn (hcd->self.controller, "Unlink after no-IRQ? " "Controller is probably using the wrong IRQ." "Controller is probably using the wrong IRQ." "\n"); "\n"); hcd->saw_irq = 1; set_bit(HCD_FLAG_SAW_IRQ, &hcd->flags); } } urb->status = status; urb->status = status; Loading Loading @@ -1649,13 +1650,15 @@ irqreturn_t usb_hcd_irq (int irq, void *__hcd, struct pt_regs * r) struct usb_hcd *hcd = __hcd; struct usb_hcd *hcd = __hcd; int start = hcd->state; int start = hcd->state; if (start == HC_STATE_HALT) if (unlikely(start == HC_STATE_HALT || !test_bit(HCD_FLAG_HW_ACCESSIBLE, &hcd->flags))) return IRQ_NONE; return IRQ_NONE; if (hcd->driver->irq (hcd, r) == IRQ_NONE) if (hcd->driver->irq (hcd, r) == IRQ_NONE) return IRQ_NONE; return IRQ_NONE; hcd->saw_irq = 1; set_bit(HCD_FLAG_SAW_IRQ, &hcd->flags); if (hcd->state == HC_STATE_HALT) if (unlikely(hcd->state == HC_STATE_HALT)) usb_hc_died (hcd); usb_hc_died (hcd); return IRQ_HANDLED; return IRQ_HANDLED; } } Loading Loading @@ -1768,6 +1771,8 @@ int usb_add_hcd(struct usb_hcd *hcd, dev_info(hcd->self.controller, "%s\n", hcd->product_desc); dev_info(hcd->self.controller, "%s\n", hcd->product_desc); set_bit(HCD_FLAG_HW_ACCESSIBLE, &hcd->flags); /* till now HC has been in an indeterminate state ... */ /* till now HC has been in an indeterminate state ... */ if (hcd->driver->reset && (retval = hcd->driver->reset(hcd)) < 0) { if (hcd->driver->reset && (retval = hcd->driver->reset(hcd)) < 0) { dev_err(hcd->self.controller, "can't reset\n"); dev_err(hcd->self.controller, "can't reset\n"); Loading