@@ -85,7 +85,7 @@ static void ni_usb_bulk_complete(struct urb *urb)
8585
8686// printk("debug: %s: status=0x%x, error_count=%i, actual_length=%i\n", __func__,
8787// urb->status, urb->error_count, urb->actual_length);
88- up (& context -> complete );
88+ complete (& context -> complete );
8989}
9090
9191static void ni_usb_timeout_handler (struct timer_list * t )
@@ -94,7 +94,7 @@ static void ni_usb_timeout_handler(struct timer_list *t)
9494 struct ni_usb_urb_ctx * context = & ni_priv -> context ;
9595
9696 context -> timed_out = 1 ;
97- up (& context -> complete );
97+ complete (& context -> complete );
9898};
9999
100100// I'm using nonblocking loosely here, it only means -EAGAIN can be returned in certain cases
@@ -124,7 +124,7 @@ static int ni_usb_nonblocking_send_bulk_msg(struct ni_usb_priv *ni_priv, void *d
124124 }
125125 usb_dev = interface_to_usbdev (ni_priv -> bus_interface );
126126 out_pipe = usb_sndbulkpipe (usb_dev , ni_priv -> bulk_out_endpoint );
127- sema_init (& context -> complete , 0 );
127+ init_completion (& context -> complete );
128128 context -> timed_out = 0 ;
129129 usb_fill_bulk_urb (ni_priv -> bulk_urb , usb_dev , out_pipe , data , data_length ,
130130 & ni_usb_bulk_complete , context );
@@ -143,7 +143,7 @@ static int ni_usb_nonblocking_send_bulk_msg(struct ni_usb_priv *ni_priv, void *d
143143 return retval ;
144144 }
145145 mutex_unlock (& ni_priv -> bulk_transfer_lock );
146- down (& context -> complete ); // wait for ni_usb_bulk_complete
146+ wait_for_completion (& context -> complete ); // wait for ni_usb_bulk_complete
147147 if (context -> timed_out ) {
148148 usb_kill_urb (ni_priv -> bulk_urb );
149149 dev_err (& usb_dev -> dev , "%s: killed urb due to timeout\n" , __func__ );
@@ -210,7 +210,7 @@ static int ni_usb_nonblocking_receive_bulk_msg(struct ni_usb_priv *ni_priv,
210210 }
211211 usb_dev = interface_to_usbdev (ni_priv -> bus_interface );
212212 in_pipe = usb_rcvbulkpipe (usb_dev , ni_priv -> bulk_in_endpoint );
213- sema_init (& context -> complete , 0 );
213+ init_completion (& context -> complete );
214214 context -> timed_out = 0 ;
215215 usb_fill_bulk_urb (ni_priv -> bulk_urb , usb_dev , in_pipe , data , data_length ,
216216 & ni_usb_bulk_complete , context );
@@ -231,7 +231,7 @@ static int ni_usb_nonblocking_receive_bulk_msg(struct ni_usb_priv *ni_priv,
231231 }
232232 mutex_unlock (& ni_priv -> bulk_transfer_lock );
233233 if (interruptible ) {
234- if (down_interruptible (& context -> complete )) {
234+ if (wait_for_completion_interruptible (& context -> complete )) {
235235 /* If we got interrupted by a signal while
236236 * waiting for the usb gpib to respond, we
237237 * should send a stop command so it will
@@ -243,10 +243,10 @@ static int ni_usb_nonblocking_receive_bulk_msg(struct ni_usb_priv *ni_priv,
243243 /* now do an uninterruptible wait, it shouldn't take long
244244 * for the board to respond now.
245245 */
246- down (& context -> complete );
246+ wait_for_completion (& context -> complete );
247247 }
248248 } else {
249- down (& context -> complete );
249+ wait_for_completion (& context -> complete );
250250 }
251251 if (context -> timed_out ) {
252252 usb_kill_urb (ni_priv -> bulk_urb );
0 commit comments