summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorflz <flz@FreeBSD.org>2005-12-11 20:14:38 +0000
committerflz <flz@FreeBSD.org>2005-12-11 20:14:38 +0000
commitfa0e8a06573ff85291c7d244834abd940d29281b (patch)
tree51a05017bde7f81346d304628c14f01ec40122f8
parent0c881f6effb007d64090044d8683f53423b22e6c (diff)
downloadFreeBSD-src-fa0e8a06573ff85291c7d244834abd940d29281b.zip
FreeBSD-src-fa0e8a06573ff85291c7d244834abd940d29281b.tar.gz
- Rename UQ_BROKEN_IPOD to UQ_NO_OPEN_CLEARSTALL since it's likely to be used
by more devices than iPods. Proposed by: iedowse Approved by: ssouhlal MFC after: 3 days
-rw-r--r--sys/dev/usb/usb_quirks.c4
-rw-r--r--sys/dev/usb/usb_quirks.h4
-rw-r--r--sys/dev/usb/usb_subr.c2
3 files changed, 6 insertions, 4 deletions
diff --git a/sys/dev/usb/usb_quirks.c b/sys/dev/usb/usb_quirks.c
index fd05cff..131185c 100644
--- a/sys/dev/usb/usb_quirks.c
+++ b/sys/dev/usb/usb_quirks.c
@@ -79,8 +79,8 @@ Static const struct usbd_quirk_entry {
{ USB_VENDOR_TELEX, USB_PRODUCT_TELEX_MIC1, 0x009, { UQ_AU_NO_FRAC }},
{ USB_VENDOR_SILICONPORTALS, USB_PRODUCT_SILICONPORTALS_YAPPHONE,
0x100, { UQ_AU_INP_ASYNC }},
- { USB_VENDOR_APPLE, USB_PRODUCT_APPLE_IPOD3G, ANY, { UQ_BROKEN_IPOD }},
- { USB_VENDOR_APPLE, USB_PRODUCT_APPLE_IPODVIDEO, ANY, { UQ_BROKEN_IPOD }},
+ { USB_VENDOR_APPLE, USB_PRODUCT_APPLE_IPOD3G, ANY, { UQ_NO_OPEN_CLEARSTALL }},
+ { USB_VENDOR_APPLE, USB_PRODUCT_APPLE_IPODVIDEO, ANY, { UQ_NO_OPEN_CLEARSTALL }},
/* XXX These should have a revision number, but I don't know what they are. */
{ USB_VENDOR_HP, USB_PRODUCT_HP_895C, ANY, { UQ_BROKEN_BIDIR }},
{ USB_VENDOR_HP, USB_PRODUCT_HP_880C, ANY, { UQ_BROKEN_BIDIR }},
diff --git a/sys/dev/usb/usb_quirks.h b/sys/dev/usb/usb_quirks.h
index 6588ec0..04ba397 100644
--- a/sys/dev/usb/usb_quirks.h
+++ b/sys/dev/usb/usb_quirks.h
@@ -54,7 +54,9 @@ struct usbd_quirks {
#define UQ_AU_INP_ASYNC 0x0800 /* input is async despite claim of adaptive */
#define UQ_ASSUME_CM_OVER_DATA 0x1000 /* modem device breaks on cm over data */
#define UQ_BROKEN_BIDIR 0x2000 /* printer has broken bidir mode */
-#define UQ_BROKEN_IPOD 0x4000 /* iPod has something broken */
+#define UQ_NO_OPEN_CLEARSTALL 0x4000 /* don't usbd_clear_endpoint_stall() */
+ /* in usbd_setup_pipe() */
+
};
extern const struct usbd_quirks usbd_no_quirk;
diff --git a/sys/dev/usb/usb_subr.c b/sys/dev/usb/usb_subr.c
index d77ebc0..ca573b6 100644
--- a/sys/dev/usb/usb_subr.c
+++ b/sys/dev/usb/usb_subr.c
@@ -779,7 +779,7 @@ usbd_setup_pipe(usbd_device_handle dev, usbd_interface_handle iface,
return (err);
}
- if (!(dev->quirks->uq_flags & UQ_BROKEN_IPOD)) {
+ if (!(dev->quirks->uq_flags & UQ_NO_OPEN_CLEARSTALL)) {
/* Clear any stall and make sure DATA0 toggle will be used next. */
if (UE_GET_ADDR(ep->edesc->bEndpointAddress) != USB_CONTROL_ENDPOINT) {
err = usbd_clear_endpoint_stall(p);
OpenPOWER on IntegriCloud