diff options
| author | Oliver Neukum <oliver@neukum.org> | 2008-07-29 10:18:47 -0400 |
|---|---|---|
| committer | Greg Kroah-Hartman <gregkh@suse.de> | 2008-10-17 17:40:51 -0400 |
| commit | 6a2839bedc1502b3f0366cc3ad1099a1d92cf8fb (patch) | |
| tree | 3b8861acf1a573d97066157c1fab16e574d645b1 /include/linux | |
| parent | 55b447bf79ad25591437d24b78caa9d0ae4fec82 (diff) | |
USB: extend poisoning to anchors
this extends the poisoning concept to anchors. This way poisoning
will work with fire and forget drivers.
Signed-off-by: Oliver Neukum <oneukum@suse.de>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
Diffstat (limited to 'include/linux')
| -rw-r--r-- | include/linux/usb.h | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/include/linux/usb.h b/include/linux/usb.h index 3371c91e7ff4..d97927970f54 100644 --- a/include/linux/usb.h +++ b/include/linux/usb.h | |||
| @@ -1135,6 +1135,7 @@ struct usb_anchor { | |||
| 1135 | struct list_head urb_list; | 1135 | struct list_head urb_list; |
| 1136 | wait_queue_head_t wait; | 1136 | wait_queue_head_t wait; |
| 1137 | spinlock_t lock; | 1137 | spinlock_t lock; |
| 1138 | unsigned int poisoned:1; | ||
| 1138 | }; | 1139 | }; |
| 1139 | 1140 | ||
| 1140 | static inline void init_usb_anchor(struct usb_anchor *anchor) | 1141 | static inline void init_usb_anchor(struct usb_anchor *anchor) |
| @@ -1462,6 +1463,7 @@ extern void usb_kill_urb(struct urb *urb); | |||
| 1462 | extern void usb_poison_urb(struct urb *urb); | 1463 | extern void usb_poison_urb(struct urb *urb); |
| 1463 | extern void usb_unpoison_urb(struct urb *urb); | 1464 | extern void usb_unpoison_urb(struct urb *urb); |
| 1464 | extern void usb_kill_anchored_urbs(struct usb_anchor *anchor); | 1465 | extern void usb_kill_anchored_urbs(struct usb_anchor *anchor); |
| 1466 | extern void usb_poison_anchored_urbs(struct usb_anchor *anchor); | ||
| 1465 | extern void usb_unlink_anchored_urbs(struct usb_anchor *anchor); | 1467 | extern void usb_unlink_anchored_urbs(struct usb_anchor *anchor); |
| 1466 | extern void usb_anchor_urb(struct urb *urb, struct usb_anchor *anchor); | 1468 | extern void usb_anchor_urb(struct urb *urb, struct usb_anchor *anchor); |
| 1467 | extern void usb_unanchor_urb(struct urb *urb); | 1469 | extern void usb_unanchor_urb(struct urb *urb); |
