Changeset f5246b6 in mainline for uspace/drv/usbmouse/mouse.c
- Timestamp:
- 2011-03-04T22:48:24Z (14 years ago)
- Branches:
- lfn, master, serial, ticket/834-toolchain-update, topic/msim-upgrade, topic/simplify-dev-export
- Children:
- 0e06a14
- Parents:
- 3c775adb (diff), 03f7952 (diff)
Note: this is a merge changeset, the changes displayed below correspond to the merge itself.
Use the(diff)
links above to see all the changes relative to each parent. - File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
uspace/drv/usbmouse/mouse.c
r3c775adb rf5246b6 37 37 #include <usb/debug.h> 38 38 #include <errno.h> 39 #include <str_error.h> 39 40 #include <ipc/mouse.h> 40 41 … … 64 65 65 66 size_t actual_size; 67 int rc; 66 68 67 /* FIXME: check for errors. */ 68 usb_endpoint_pipe_start_session(&mouse->poll_pipe); 69 /* 70 * Error checking note: 71 * - failure when starting a session is considered 72 * temporary (e.g. out of phones, next try might succeed) 73 * - failure of transfer considered fatal (probably the 74 * device was unplugged) 75 * - session closing not checked (shall not fail anyway) 76 */ 69 77 70 usb_endpoint_pipe_read(&mouse->poll_pipe, 78 rc = usb_endpoint_pipe_start_session(&mouse->poll_pipe); 79 if (rc != EOK) { 80 usb_log_warning("Failed to start session, will try again: %s.\n", 81 str_error(rc)); 82 continue; 83 } 84 85 rc = usb_endpoint_pipe_read(&mouse->poll_pipe, 71 86 buffer, buffer_size, &actual_size); 72 87 73 88 usb_endpoint_pipe_end_session(&mouse->poll_pipe); 89 90 if (rc != EOK) { 91 usb_log_error("Failed reading mouse input: %s.\n", 92 str_error(rc)); 93 break; 94 } 95 96 usb_log_debug2("got buffer: %s.\n", 97 usb_debug_str_buffer(buffer, buffer_size, 0)); 74 98 75 99 uint8_t butt = buffer[0]; … … 115 139 } 116 140 141 /* 142 * Device was probably unplugged. 143 * Hang-up the phone to the console. 144 * FIXME: release allocated memory. 145 */ 146 async_hangup(mouse->console_phone); 147 mouse->console_phone = -1; 148 149 usb_log_error("Mouse polling fibril terminated.\n"); 150 117 151 return EOK; 118 152 }
Note:
See TracChangeset
for help on using the changeset viewer.