All of lore.kernel.org
 help / color / mirror / Atom feed
From: Harry Butterworth <harry@hebutterworth.freeserve.co.uk>
To: Mark Williamson <mark.williamson@cl.cam.ac.uk>
Cc: xen-devel@lists.xensource.com, sanjay kumar <sanjay.kushwaha@gmail.com>
Subject: Re: Re: usbback cleanup code
Date: Tue, 02 May 2006 10:59:05 +0100	[thread overview]
Message-ID: <1146563945.8556.44.camel@localhost.localdomain> (raw)
In-Reply-To: <200605012032.37203.mark.williamson@cl.cam.ac.uk>

On Mon, 2006-05-01 at 20:32 +0100, Mark Williamson wrote:

> There were a lot of files added by your patch which appeared to be utility 
> code / abstractions.  This is fine in general, but the other drivers seem to 
> get away with much less of this kind of thing without suffering unduly in 
> terms of complexity.

I don't think the other drivers are expressed in a way that allows the
reader to see that they are obviously correct.  I found them fairly
difficult to read and I think they could be improved with some
additional internal structure.

> I didn't have time to study the code in detail, but I 
> wasn't convinced they were all strictly necessary.

This feedback isn't specific enough to be useful for me to improve the
patches to your liking.

> > The most difficult remaining work is to fix the protocol to correctly
> > stall URBs during error recovery.  I was involved in some discussion
> > about this on the USB mailing list and there was a proposal for a
> > solution but it is fairly tricky.  Stalling URBs is required when there
> > is a queue of URBs and an URB fails.  If the URBs are not stalled then
> > they may be submitted to the device out-of-order which is a
> > data-integrity exposure.
> 
> Any reason not just to fail all the URBs on the queue?

There was some discussion about this on the USB mailing list.
Apparently the URBs on the control endpoint can have more than one
source (presumably the USB stack and the USB driver) and failure for one
client shouldn't impact another client.

Harry.

  parent reply	other threads:[~2006-05-02  9:59 UTC|newest]

Thread overview: 11+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
     [not found] <2717599f0603120920x74e317a4mf429f3229bbe90a9@mail.gmail.com>
     [not found] ` <1142245114.8822.6.camel@localhost.localdomain>
     [not found]   ` <2717599f0604030654i52a03ec8n83106b7d8b0d3b96@mail.gmail.com>
     [not found]     ` <1144076194.9237.45.camel@localhost.localdomain>
     [not found]       ` <2717599f0604291243y6123a4ccn27d826ea21d4663d@mail.gmail.com>
2006-05-01  4:43         ` usbback cleanup code Harry Butterworth
2006-05-01 14:04           ` M.A. Williamson
2006-05-01 18:59             ` Harry Butterworth
2006-05-01 19:32               ` Mark Williamson
2006-05-01 20:56                 ` Anthony Liguori
2006-05-01 21:10                   ` Mark Williamson
2006-05-01 23:41                     ` Anthony Liguori
2006-05-02  9:59                 ` Harry Butterworth [this message]
2006-05-02 11:31                   ` Mark Williamson
2006-05-02 12:50                     ` Harry Butterworth
2006-05-02 15:38                     ` Harry Butterworth

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=1146563945.8556.44.camel@localhost.localdomain \
    --to=harry@hebutterworth.freeserve.co.uk \
    --cc=mark.williamson@cl.cam.ac.uk \
    --cc=sanjay.kushwaha@gmail.com \
    --cc=xen-devel@lists.xensource.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.