On Mon, Aug 08, 2016 at 11:48:52AM -0400, robert.foss@xxxxxxxxxxxxx wrote: > From: Robert Foss <robert.foss@xxxxxxxxxxxxx> > > Implemented queued response handling. This queue is processed every time the > WDM_READ flag is cleared. > > In case of a read error, userspace may not actually read the data, since the > driver returns an error through wdm_poll. After this, the underlying device may > attempt to send us more data, but the queue is not processed. While userspace is > also blocked, because the read error is never cleared. > > After this patch, we proactively process the queue on a read error. If there was > an outstanding response to handle, that will clear the error (or go through the > same logic again, if another read error occurs). If there was no outstanding > response, this will bring the queue size back to 0, unblocking a future response > from the underlying device. > > Tested-by: Robert Foss <robert.foss@xxxxxxxxxxxxx> > Signed-off-by: Robert Foss <robert.foss@xxxxxxxxxxxxx> > Acked-by: Oliver Neukum <oneukum@xxxxxxxx> > --- > > Changes since v1: > - Only set a new error code it there is no previous error code This no longer applies to my tree due to a patch sent before yours for the same driver. Can you resync against my usb-testing brance on my usb.git tree on git.kernel.org and resend? thanks, greg k-h -- To unsubscribe from this list: send the line "unsubscribe linux-usb" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html