Rev 3424 | Show entire file | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed
Rev 3424 | Rev 4377 | ||
---|---|---|---|
Line 130... | Line 130... | ||
130 | aid_t req; |
130 | aid_t req; |
131 | ipc_call_t answer; |
131 | ipc_call_t answer; |
132 | int phone; |
132 | int phone; |
133 | ipcarg_t callback_phonehash; |
133 | ipcarg_t callback_phonehash; |
134 | 134 | ||
135 | phone = ipc_connect_me_to(PHONE_NS, SERVICE_DEVMAP, DEVMAP_DRIVER, 0); |
135 | phone = ipc_connect_me_to_blocking(PHONE_NS, SERVICE_DEVMAP, DEVMAP_DRIVER, 0); |
136 | - | ||
137 | while (phone < 0) { |
136 | if (phone < 0) { |
138 | usleep(100000); |
- | |
139 | phone = ipc_connect_me_to(PHONE_NS, SERVICE_DEVMAP, |
137 | printf("Failed to connect to device mapper\n"); |
140 | DEVMAP_DRIVER, 0); |
138 | return -1; |
141 | } |
139 | } |
142 | 140 | ||
143 | req = async_send_2(phone, DEVMAP_DRIVER_REGISTER, 0, 0, &answer); |
141 | req = async_send_2(phone, DEVMAP_DRIVER_REGISTER, 0, 0, &answer); |
144 | 142 | ||
145 | retval = ipc_data_write_start(phone, (char *)name, strlen(name) + 1); |
143 | retval = ipc_data_write_start(phone, (char *)name, str_size(name) + 1); |
146 | 144 | ||
147 | if (retval != EOK) { |
145 | if (retval != EOK) { |
148 | async_wait_for(req, NULL); |
146 | async_wait_for(req, NULL); |
149 | return -1; |
147 | return -1; |
150 | } |
148 | } |
Line 173... | Line 171... | ||
173 | ipc_call_t answer; |
171 | ipc_call_t answer; |
174 | 172 | ||
175 | req = async_send_2(driver_phone, DEVMAP_DEVICE_GET_HANDLE, 0, 0, |
173 | req = async_send_2(driver_phone, DEVMAP_DEVICE_GET_HANDLE, 0, 0, |
176 | &answer); |
174 | &answer); |
177 | 175 | ||
178 | retval = ipc_data_write_start(driver_phone, name, strlen(name) + 1); |
176 | retval = ipc_data_write_start(driver_phone, name, str_size(name) + 1); |
179 | 177 | ||
180 | if (retval != EOK) { |
178 | if (retval != EOK) { |
181 | printf("Failed to send device name '%s'.\n", name); |
179 | printf("Failed to send device name '%s'.\n", name); |
182 | async_wait_for(req, NULL); |
180 | async_wait_for(req, NULL); |
183 | return retval; |
181 | return retval; |
Line 215... | Line 213... | ||
215 | ipc_call_t answer; |
213 | ipc_call_t answer; |
216 | 214 | ||
217 | req = async_send_2(driver_phone, DEVMAP_DEVICE_REGISTER, 0, 0, &answer); |
215 | req = async_send_2(driver_phone, DEVMAP_DEVICE_REGISTER, 0, 0, &answer); |
218 | 216 | ||
219 | retval = ipc_data_write_start(driver_phone, (char *)name, |
217 | retval = ipc_data_write_start(driver_phone, (char *)name, |
220 | strlen(name) + 1); |
218 | str_size(name) + 1); |
221 | 219 | ||
222 | if (retval != EOK) { |
220 | if (retval != EOK) { |
223 | printf("Failed to send device name '%s'.\n", name); |
221 | printf("Failed to send device name '%s'.\n", name); |
224 | async_wait_for(req, NULL); |
222 | async_wait_for(req, NULL); |
225 | return retval; |
223 | return retval; |