This follow-on patchset makes the dev_desc attribute binary, as it
should have been. Resent without duplicate patches in the previous
patchset.
Igor Kotrasinski (1):
usbip: vudc: make dev_desc attribute binary
drivers/usb/usbip/vudc_sysfs.c | 20 ++--
1 file changed, 14
We read a struct usb_device_descriptor from it, so make it an actual
binary attribute.
Signed-off-by: Igor Kotrasinski
---
drivers/usb/usbip/vudc_sysfs.c | 20 ++--
1 file changed, 14 insertions(+), 6 deletions(-)
diff --git a/drivers/usb/usbip/vudc_sysfs.c b/drivers/usb/usbip
Avoid namespace pollution.
Signed-off-by: Igor Kotrasinski
---
drivers/usb/usbip/vudc.h | 2 +-
drivers/usb/usbip/vudc_dev.c | 2 +-
drivers/usb/usbip/vudc_rx.c | 2 +-
drivers/usb/usbip/vudc_transfer.c | 6 +++---
4 files changed, 6 insertions(+), 6 deletions(-)
diff --git
These are follow-on patches to the series of patches adding the usbip-vudc
driver. They fix a namespace pollution issue, change one of the sysfs
attributes to binary type and provide documentation for attributes.
Igor Kotrasinski (3):
usbip: vudc: rename find_endpoint to vep_find_endpoint
We handle USB_REQ_SET_ADDRESS at enqueue, so we want to perform
cleanup and giveback the urb. We should not call usb_hcd_giveback_urb
when we're cleaning up after a failed enqueue, though.
Only giveback the urb at cleanup when we claim to have served it.
Signed-off-by: Igor Kotras
Testing usbip with 'testusb -t 11' uncovered a couple errors
with how vhci handles enqueues and unlinks. This patchset fixes
them.
Igor Kotrasinski (2):
usbip: vhci_hcd: only return urb at enqueue when served
usbip: vhci_hcd: at unlink, return -EIDRM if vhci_rx took the urb
d
In a situation where the urb is about to be returned or was never
there, we should return -EIDRM (as per usb_hcd_check_unlink_urb).
This is exactly the situation when the urb is picked up by vhci_rx
before we access priv.
Return -EIDRM rather than 0 when this happens.
Signed-off-by: Igor
We already know at this point that to_host is false.
Signed-off-by: Igor Kotrasinski
---
drivers/usb/gadget/udc/dummy_hcd.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/drivers/usb/gadget/udc/dummy_hcd.c
b/drivers/usb/gadget/udc/dummy_hcd.c
index df11021..da38475 100644
transfer() schedules a rescan for transfers larger than
maxpacket, which is wrong for transfers that are multiples
of maxpacket.
Rewrite to fix and clarify packet multiple / remainder
transfer logic.
Signed-off-by: Igor Kotrasinski
---
drivers/usb/gadget/udc/dummy_hcd.c | 13 -
1
amount of data sent in transfer() and
substracting from total.
Signed-off-by: Igor Kotrasinski
---
drivers/usb/gadget/udc/dummy_hcd.c | 6 --
1 file changed, 4 insertions(+), 2 deletions(-)
diff --git a/drivers/usb/gadget/udc/dummy_hcd.c
b/drivers/usb/gadget/udc/dummy_hcd.c
index 2ecec06a
Fix some issues with dummy_hcd transfer simulation - incorrect
short packets and overwritten bandwidth limits.
Igor Kotrasinski (4):
usb: gadget: dummy_hcd: emulate sending zlp in packet logic
usb: gadget: dummy_hcd: fix unneeded else-if condition
usb: gadget: dummy_hcd: fix rescan logic
buffer is not, transfer() returns with an urb with
-EINPROGRESS status, which dummy_hcd treats as incomplete
transfer.
Check for zlp and rescan appropriately.
Signed-off-by: Igor Kotrasinski
---
drivers/usb/gadget/udc/dummy_hcd.c | 25 +
1 file changed, 17 insertions(+), 8
Signed-off-by: Igor Kotrasinski
---
drivers/usb/gadget/udc/dummy_hcd.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/drivers/usb/gadget/udc/dummy_hcd.c
b/drivers/usb/gadget/udc/dummy_hcd.c
index df11021..da38475 100644
--- a/drivers/usb/gadget/udc/dummy_hcd.c
+++ b/drivers
amount of data sent in transfer() and
substracting from total.
Signed-off-by: Igor Kotrasinski
---
drivers/usb/gadget/udc/dummy_hcd.c | 6 --
1 file changed, 4 insertions(+), 2 deletions(-)
diff --git a/drivers/usb/gadget/udc/dummy_hcd.c
b/drivers/usb/gadget/udc/dummy_hcd.c
index 3fdcbda
buffer is not, transfer() returns with an urb with
-EINPROGRESS status, which dummy_hcd treats as incomplete
transfer.
Check for zlp and rescan appropriately.
Signed-off-by: Igor Kotrasinski
---
drivers/usb/gadget/udc/dummy_hcd.c | 25 +
1 file changed, 17 insertions(+), 8
transfer() schedules a rescan for transfers larger than
maxpacket, which is wrong for transfers that are multiples
of maxpacket.
Rewrite to fix and clarify packet multiple / remainder
transfer logic.
Signed-off-by: Igor Kotrasinski
---
drivers/usb/gadget/udc/dummy_hcd.c | 16
transfer() schedules a rescan for transfers larger than
maxpacket, which is wrong for transfers that are multiples
of maxpacket.
Rewrite to fix and clarify packet multiple / remainder
transfer logic.
Signed-off-by: Igor Kotrasinski
---
drivers/usb/gadget/udc/dummy_hcd.c | 17
buffer is not, transfer() returns with an urb with
-EINPROGRESS status, which dummy_hcd treats as incomplete
transfer.
Check for zlp and rescan appropriately.
Signed-off-by: Igor Kotrasinski
---
drivers/usb/gadget/udc/dummy_hcd.c | 24
1 file changed, 16 insertions(+), 8
When close to transfer limit for a frame, transfer() decreases
data length to send to limit. This can cause an erroneous short
packet transfer to be simulated.
Rework transfer logic to decrease data to tranfer to multiple of
maxpacket.
Signed-off-by: Igor Kotrasinski
---
drivers/usb/gadget/udc
Signed-off-by: Igor Kotrasinski
---
drivers/usb/gadget/udc/dummy_hcd.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/drivers/usb/gadget/udc/dummy_hcd.c
b/drivers/usb/gadget/udc/dummy_hcd.c
index 59be03e..183e368 100644
--- a/drivers/usb/gadget/udc/dummy_hcd.c
+++ b/drivers
transfer() schedules a rescan for transfers larger than
maxpacket, which is wrong for transfers that are multiples
of maxpacket.
Rewrite to fix and clarify packet multiple / remainder
transfer logic.
Signed-off-by: Igor Kotrasinski
---
drivers/usb/gadget/udc/dummy_hcd.c | 17
amount of data sent in transfer() and
substracting from total.
Signed-off-by: Igor Kotrasinski
---
drivers/usb/gadget/udc/dummy_hcd.c | 6 --
1 file changed, 4 insertions(+), 2 deletions(-)
diff --git a/drivers/usb/gadget/udc/dummy_hcd.c
b/drivers/usb/gadget/udc/dummy_hcd.c
index 0ba0ab3
On 09/11/2015 07:20 PM, Alan Stern wrote:
> On Fri, 11 Sep 2015, Igor Kotrasinski wrote:
>
>> currently, when a zlp flag is set and an urb/usb_request
>> buffer is filled without a short packet, transfer() leaves
>> its status at -EINPROGRESS and does not rescan for sho
buffer is not, transfer() returns with an urb with
-EINPROGRESS status, which dummy_hcd treats as incomplete
transfer.
Check for zlp and rescan appropriately.
Signed-off-by: Igor Kotrasinski
---
drivers/usb/gadget/udc/dummy_hcd.c | 24
1 file changed, 16 insertions(+), 8
Since composite now overwrites bcdUSB for any gadget, remove
setting it in legacy gadgets. All legacy gadgets set 0x0200, the
same as the value additionally set by composite, so there is no
behaviour change.
Signed-off-by: Igor Kotrasinski
---
drivers/usb/gadget/legacy/acm_ms.c | 2
at doesn't use
superspeed, since USB 2.0 devices can restrict themselves to
full speed only. It is NOT correct to use 0x0210, since BOS
descriptors are handled only if gadget_is_superspeed() is
satisfied, otherwise it results in a stall.
Signed-off-by: Igor Kotrasinski
---
drivers/usb/gadget/
On 08/19/2015 03:56 PM, Alan Stern wrote:
> On Wed, 19 Aug 2015, Igor Kotrasinski wrote:
>
>>>> I would argue that there's no need to check gadget_is_dualspeed();
>>>> bcdUSB should always be set to 0x0200. After all, the spec explicitly
>>>> pe
On 08/18/2015 05:42 PM, Felipe Balbi wrote:
> On Tue, Aug 18, 2015 at 11:06:32AM -0400, Alan Stern wrote:
>> On Tue, 18 Aug 2015, Igor Kotrasinski wrote:
>>
>>> When handling device GET_DESCRIPTOR, composite gadget driver fills
>>> the bcdUSB field only if the g
drivers set bcdUSB manually, it makes sense to
place the entire logic in the composite gadget driver.
Signed-off-by: Igor Kotrasinski
---
drivers/usb/gadget/composite.c | 4
1 file changed, 4 insertions(+)
diff --git a/drivers/usb/gadget/composite.c b/drivers/usb/gadget/composite.c
index
29 matches
Mail list logo