[PATCH] zd1211rw: usb_clear_halt not allowed in IRQ context
We will reimplement halt-clearing later, when we have periodic housekeeping routines in place. This will do as a temporary fix, the EPIPE case has not yet been seen. Signed-off-by: Daniel Drake <dsd@gentoo.org> Signed-off-by: John W. Linville <linville@tuxdriver.com>
This commit is contained in:
		
							parent
							
								
									522536f6b2
								
							
						
					
					
						commit
						b312d799b3
					
				| @ -375,10 +375,8 @@ static void int_urb_complete(struct urb *urb, struct pt_regs *pt_regs) | ||||
| 	case -ENODEV: | ||||
| 	case -ENOENT: | ||||
| 	case -ECONNRESET: | ||||
| 		goto kfree; | ||||
| 	case -EPIPE: | ||||
| 		usb_clear_halt(urb->dev, EP_INT_IN); | ||||
| 		/* FALL-THROUGH */ | ||||
| 		goto kfree; | ||||
| 	default: | ||||
| 		goto resubmit; | ||||
| 	} | ||||
| @ -580,10 +578,8 @@ static void rx_urb_complete(struct urb *urb, struct pt_regs *pt_regs) | ||||
| 	case -ENODEV: | ||||
| 	case -ENOENT: | ||||
| 	case -ECONNRESET: | ||||
| 		return; | ||||
| 	case -EPIPE: | ||||
| 		usb_clear_halt(urb->dev, EP_DATA_IN); | ||||
| 		/* FALL-THROUGH */ | ||||
| 		return; | ||||
| 	default: | ||||
| 		dev_dbg_f(urb_dev(urb), "urb %p error %d\n", urb, urb->status); | ||||
| 		goto resubmit; | ||||
| @ -749,11 +745,9 @@ static void tx_urb_complete(struct urb *urb, struct pt_regs *pt_regs) | ||||
| 	case -ENODEV: | ||||
| 	case -ENOENT: | ||||
| 	case -ECONNRESET: | ||||
| 	case -EPIPE: | ||||
| 		dev_dbg_f(urb_dev(urb), "urb %p error %d\n", urb, urb->status); | ||||
| 		break; | ||||
| 	case -EPIPE: | ||||
| 		usb_clear_halt(urb->dev, EP_DATA_OUT); | ||||
| 		/* FALL-THROUGH */ | ||||
| 	default: | ||||
| 		dev_dbg_f(urb_dev(urb), "urb %p error %d\n", urb, urb->status); | ||||
| 		goto resubmit; | ||||
|  | ||||
		Loading…
	
		Reference in New Issue
	
	Block a user