[PATCH v2] Follow-on patches for usbip-vudc driver

2016-04-28 Thread Igor Kotrasinski
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

[PATCH 2/3] usbip: vudc: make dev_desc attribute binary

2016-04-28 Thread Igor Kotrasinski
We read a struct usb_device_descriptor from it, so make it an actual binary attribute. Signed-off-by: Igor Kotrasinski <i.kotrasi...@gmail.com> --- drivers/usb/usbip/vudc_sysfs.c | 20 ++-- 1 file changed, 14 insertions(+), 6 deletions(-) diff --git a/drivers/usb

[PATCH 1/3] usbip: vudc: rename find_endpoint to vep_find_endpoint

2016-04-28 Thread Igor Kotrasinski
Avoid namespace pollution. Signed-off-by: Igor Kotrasinski <i.kotrasi...@gmail.com> --- 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

[PATCH 0/3] Follow-on patches for usbip-vudc driver

2016-04-28 Thread Igor Kotrasinski
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

[PATCH 0/2] usbip: vhci_hcd: fix enqueue/unlink edge cases

2015-09-21 Thread Igor Kotrasinski
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 drivers/usb

[PATCH 2/2] usbip: vhci_hcd: at unlink, return -EIDRM if vhci_rx took the urb

2015-09-21 Thread Igor Kotrasinski
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

[PATCH 1/2] usbip: vhci_hcd: only return urb at enqueue when served

2015-09-21 Thread Igor Kotrasinski
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 Kotrasinski

[PATCH v4 4/4] usb: gadget: dummy_hcd: in transfer(), return data sent, not limit

2015-09-15 Thread Igor Kotrasinski
amount of data sent in transfer() and substracting from total. Signed-off-by: Igor Kotrasinski <i.kotrasi...@samsung.com> --- 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/gadg

[PATCH v4 0/4] usb: gadget: dummy_hcd: fix errors in simulated transfer

2015-09-15 Thread Igor Kotrasinski
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

[PATCH v4 1/4] usb: gadget: dummy_hcd: emulate sending zlp in packet logic

2015-09-15 Thread Igor Kotrasinski
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 <i.kotrasi...@samsung.com> --- drivers/usb/gadget/udc/dummy_hcd.c | 25 +

[PATCH v4 3/4] usb: gadget: dummy_hcd: fix rescan logic for transfer

2015-09-15 Thread Igor Kotrasinski
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 <i.kotrasi...@samsung.com> --- drivers/usb/gadg

[PATCH v4 2/4] usb: gadget: dummy_hcd: fix unneeded else-if condition

2015-09-15 Thread Igor Kotrasinski
We already know at this point that to_host is false. Signed-off-by: Igor Kotrasinski <i.kotrasi...@samsung.com> --- 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

[PATCH v3] usb: gadget: dummy_hcd: fix rescan logic for transfer

2015-09-14 Thread Igor Kotrasinski
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 <i.kotrasi...@samsung.com> --- drivers/usb/gadg

[PATCH v3 1/4] usb: gadget: dummy_hcd: emulate sending zlp in packet logic

2015-09-14 Thread Igor Kotrasinski
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 <i.kotrasi...@samsung.com> --- drivers/usb/gadget/udc/dummy_hcd.c | 25 +

[PATCH v3 2/4] usb: gadget: dummy_hcd: fix unneeded else-if condition

2015-09-14 Thread Igor Kotrasinski
Signed-off-by: Igor Kotrasinski <i.kotrasi...@samsung.com> --- 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/gadg

[PATCH v3 4/4] usb: gadget: dummy_hcd: in transfer(), return data sent, not limit

2015-09-14 Thread Igor Kotrasinski
amount of data sent in transfer() and substracting from total. Signed-off-by: Igor Kotrasinski <i.kotrasi...@samsung.com> --- 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/gadg

[PATCH v3 3/4] usb: gadget: dummy_hcd: fix rescan logic for transfer

2015-09-14 Thread Igor Kotrasinski
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 <i.kotrasi...@samsung.com> --- drivers/usb/gadg

Re: [PATCH] usb: gadget: dummy_hcd: emulate sending zlp in packet logic

2015-09-14 Thread Igor Kotrasinski
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 re

[PATCH v2 2/5] usb: gadget: dummy_hcd: fix unneeded else-if condition

2015-09-14 Thread Igor Kotrasinski
Signed-off-by: Igor Kotrasinski <i.kotrasi...@samsung.com> --- 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/gadg

[PATCH v2 4/5] usb: gadget: dummy_hcd: fix rescan logic for transfer

2015-09-14 Thread Igor Kotrasinski
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 <i.kotrasi...@samsung.com> --- drivers/usb/gadg

[PATCH v2 5/5] usb: gadget: dummy_hcd: in transfer(), return data sent, not limit

2015-09-14 Thread Igor Kotrasinski
amount of data sent in transfer() and substracting from total. Signed-off-by: Igor Kotrasinski <i.kotrasi...@samsung.com> --- 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/gadg

[PATCH v2 1/5] usb: gadget: dummy_hcd: emulate sending zlp in packet logic

2015-09-14 Thread Igor Kotrasinski
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 <i.kotrasi...@samsung.com> --- drivers/usb/gadget/udc/dummy_hcd.c | 24

[PATCH v2 3/5] usb: gadget: dummy_hcd: round down transfer when over frame limit

2015-09-14 Thread Igor Kotrasinski
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 <i.kotrasi...@samsung.

[PATCH] usb: gadget: dummy_hcd: emulate sending zlp in packet logic

2015-09-11 Thread Igor Kotrasinski
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 <i.kotrasi...@samsung.com> --- drivers/usb/gadget/udc/dummy_hcd.c | 24

[PATCH v2 1/2] usb: gadget: composite: fill bcdUSB for any gadget max speed

2015-08-20 Thread Igor Kotrasinski
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 i.kotrasi...@samsung.com --- drivers

[PATCH v2 2/2] usb: gadget: composite: remove redundant bcdUSB setting in legacy

2015-08-20 Thread Igor Kotrasinski
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 i.kotrasi...@samsung.com --- drivers/usb/gadget/legacy

Re: [PATCH] usb: gadget: composite: fill bcdUSB for any gadget max speed

2015-08-19 Thread Igor Kotrasinski
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 permits USB-2.0 devices to run only at full speed. we should

Re: [PATCH] usb: gadget: composite: fill bcdUSB for any gadget max speed

2015-08-19 Thread Igor Kotrasinski
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 gadget supports USB 3.0. Otherwise the field

[PATCH] usb: gadget: composite: fill bcdUSB for any gadget max speed

2015-08-18 Thread Igor Kotrasinski
drivers set bcdUSB manually, it makes sense to place the entire logic in the composite gadget driver. Signed-off-by: Igor Kotrasinski i.kotrasi...@samsung.com --- drivers/usb/gadget/composite.c | 4 1 file changed, 4 insertions(+) diff --git a/drivers/usb/gadget/composite.c b/drivers/usb/gadget