Changeset ea69749f in mainline
- Timestamp:
- 2013-09-21T03:50:00Z (11 years ago)
- Branches:
- lfn, master, serial, ticket/834-toolchain-update, topic/msim-upgrade, topic/simplify-dev-export
- Children:
- bf6b7c6
- Parents:
- 8d40181
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
uspace/drv/bus/usb/uhci/uhci.c
r8d40181 rea69749f 105 105 if (!hc) { 106 106 usb_log_error("Failed to allocate UHCI HC structure.\n"); 107 hcd_ddf_clean_hc(device);108 return ENOMEM;107 ret = ENOMEM; 108 goto ddf_hc_clean; 109 109 } 110 110 … … 113 113 usb_log_error("Failed to register interrupt handler: %s.\n", 114 114 str_error(ret)); 115 hcd_ddf_clean_hc(device); 116 return ret; 115 goto hc_free; 117 116 } 118 117 … … 122 121 usb_log_warning("Failed to enable interrupts: %s." 123 122 " Falling back to polling.\n", str_error(ret)); 123 unregister_interrupt_handler(device, irq); 124 124 } else { 125 125 usb_log_debug("Hw interrupts enabled.\n"); … … 131 131 usb_log_error("Failed to disable legacy USB: %s.\n", 132 132 str_error(ret)); 133 hcd_ddf_clean_hc(device); 134 return ret; 133 goto irq_unregister; 135 134 } 136 135 … … 138 137 if (ret != EOK) { 139 138 usb_log_error("Failed to init uhci_hcd: %s.\n", str_error(ret)); 140 hcd_ddf_clean_hc(device); 141 // TODO unregister interrupt handler 142 return ret; 139 goto irq_unregister; 140 // TODO This is unfortunate, we have neither legacy nor real USB 143 141 } 144 142 … … 151 149 ret = hcd_ddf_setup_root_hub(device); 152 150 if (ret != EOK) { 153 hc_fini(hc);154 hcd_ddf_clean_hc(device);155 // TODO unregister interrupt handler156 151 usb_log_error("Failed to setup UHCI root hub: %s.\n", 157 152 str_error(ret)); 158 return ret; 153 hc_fini(hc); 154 irq_unregister: 155 unregister_interrupt_handler(device, irq); 156 hc_free: 157 free(hc); 158 ddf_hc_clean: 159 hcd_ddf_clean_hc(device); 159 160 } 160 161 return EOK; 161 return ret; 162 162 } 163 163 /**
Note:
See TracChangeset
for help on using the changeset viewer.