]> asedeno.scripts.mit.edu Git - linux.git/commitdiff
USB: remove the URB_NO_FSBR flag
authorAlan Stern <stern@rowland.harvard.edu>
Mon, 11 Dec 2017 16:58:21 +0000 (11:58 -0500)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Tue, 12 Dec 2017 12:16:07 +0000 (13:16 +0100)
The URB_NO_FSBR flag has never really been used.  It was introduced as
a potential way for UHCI to minimize PCI bus usage (by not attempting
full-speed bulk and control transfers more than once per frame), but
the flag was not set by any drivers.

There's no point in keeping it around.  This patch simplifies the API
by removing it.  Unfortunately, it does have to be kept as part of the
usbfs ABI, but at least we can document in
include/uapi/linux/usbdevice_fs.h that it doesn't do anything.

Signed-off-by: Alan Stern <stern@rowland.harvard.edu>
Acked-by: Shuah Khan <shuahkh@osg.samsung.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Documentation/usb/usbip_protocol.txt
drivers/usb/core/devio.c
drivers/usb/core/urb.c
drivers/usb/host/uhci-q.c
drivers/usb/usbip/stub_rx.c
include/linux/usb.h
include/uapi/linux/usbdevice_fs.h

index 16b6fe27284cc1b1184ed6eb36dcf57f5f9eb5eb..c7a0f4c7e7f104463418568687dc6698a2a09f57 100644 (file)
@@ -274,7 +274,6 @@ USBIP_CMD_SUBMIT: Submit an URB
   URB_SHORT_NOT_OK        | 0x00000001 | only in | only in   | only in  | no
   URB_ISO_ASAP            | 0x00000002 | no      | no        | no       | yes
   URB_NO_TRANSFER_DMA_MAP | 0x00000004 | yes     | yes       | yes      | yes
-  URB_NO_FSBR             | 0x00000020 | yes     | no        | no       | no
   URB_ZERO_PACKET         | 0x00000040 | no      | no        | only out | no
   URB_NO_INTERRUPT        | 0x00000080 | yes     | yes       | yes      | yes
   URB_FREE_BUFFER         | 0x00000100 | yes     | yes       | yes      | yes
index 705c573d0257e28b5142070caaca17e06e5a25fd..808b370f17372b55ec6cb91e7420381b052235aa 100644 (file)
@@ -1677,8 +1677,6 @@ static int proc_do_submiturb(struct usb_dev_state *ps, struct usbdevfs_urb *uurb
                u |= URB_ISO_ASAP;
        if (uurb->flags & USBDEVFS_URB_SHORT_NOT_OK && is_in)
                u |= URB_SHORT_NOT_OK;
-       if (uurb->flags & USBDEVFS_URB_NO_FSBR)
-               u |= URB_NO_FSBR;
        if (uurb->flags & USBDEVFS_URB_ZERO_PACKET)
                u |= URB_ZERO_PACKET;
        if (uurb->flags & USBDEVFS_URB_NO_INTERRUPT)
index 9fdf137c48652971b7bb1cf1b2a6154f293692b8..796c9b149728ba7728c8037d05de0f74f6f41394 100644 (file)
@@ -479,9 +479,6 @@ int usb_submit_urb(struct urb *urb, gfp_t mem_flags)
                if (is_out)
                        allowed |= URB_ZERO_PACKET;
                /* FALLTHROUGH */
-       case USB_ENDPOINT_XFER_CONTROL:
-               allowed |= URB_NO_FSBR; /* only affects UHCI */
-               /* FALLTHROUGH */
        default:                        /* all non-iso endpoints */
                if (!is_out)
                        allowed |= URB_SHORT_NOT_OK;
index d40438238938c0ecc04b58e72493ed426799b53d..35fcb826152c49ef98f245e66aa9c56b30e6579d 100644 (file)
@@ -73,8 +73,7 @@ static void uhci_add_fsbr(struct uhci_hcd *uhci, struct urb *urb)
 {
        struct urb_priv *urbp = urb->hcpriv;
 
-       if (!(urb->transfer_flags & URB_NO_FSBR))
-               urbp->fsbr = 1;
+       urbp->fsbr = 1;
 }
 
 static void uhci_urbp_wants_fsbr(struct uhci_hcd *uhci, struct urb_priv *urbp)
index 536e037f541faa01f16188e45e1afe130abc57ea..7a9aa9ff485d328edf09f7f15bacb021d31025fb 100644 (file)
@@ -412,9 +412,6 @@ static void masking_bogus_flags(struct urb *urb)
                if (is_out)
                        allowed |= URB_ZERO_PACKET;
                /* FALLTHROUGH */
-       case USB_ENDPOINT_XFER_CONTROL:
-               allowed |= URB_NO_FSBR; /* only affects UHCI */
-               /* FALLTHROUGH */
        default:                        /* all non-iso endpoints */
                if (!is_out)
                        allowed |= URB_SHORT_NOT_OK;
index fbbe974661f2ab5191f82cd2d8d7b7d4867f1668..fe665a0d5bceee70b0a320ef89311bd479b8ba0f 100644 (file)
@@ -1293,7 +1293,6 @@ extern int usb_disabled(void);
 #define URB_ISO_ASAP           0x0002  /* iso-only; use the first unexpired
                                         * slot in the schedule */
 #define URB_NO_TRANSFER_DMA_MAP        0x0004  /* urb->transfer_dma valid on submit */
-#define URB_NO_FSBR            0x0020  /* UHCI-specific */
 #define URB_ZERO_PACKET                0x0040  /* Finish bulk OUT with short packet */
 #define URB_NO_INTERRUPT       0x0080  /* HINT: no non-error interrupt
                                         * needed */
index 70ed5338d447bb24caab3fdd504d7f75b1f2c4fc..964e87217be4eaf9b73354fe31cd259915e1d29b 100644 (file)
@@ -79,7 +79,7 @@ struct usbdevfs_connectinfo {
 #define USBDEVFS_URB_SHORT_NOT_OK      0x01
 #define USBDEVFS_URB_ISO_ASAP          0x02
 #define USBDEVFS_URB_BULK_CONTINUATION 0x04
-#define USBDEVFS_URB_NO_FSBR           0x20
+#define USBDEVFS_URB_NO_FSBR           0x20    /* Not used */
 #define USBDEVFS_URB_ZERO_PACKET       0x40
 #define USBDEVFS_URB_NO_INTERRUPT      0x80