All of lore.kernel.org
 help / color / mirror / Atom feed
From: Luben Tuikov <ltuikov@yahoo.com>
To: Greg KH <greg@kroah.com>,
	linux-usb@vger.kernel.org, linux-kernel@vger.kernel.org,
	Matthew Wilcox <willy@linux.intel.com>
Subject: Re: [PATCH] [USB] UAS: Rename urbs by pipe
Date: Fri, 10 Dec 2010 02:50:47 -0800 (PST)	[thread overview]
Message-ID: <323235.6308.qm@web31804.mail.mud.yahoo.com> (raw)

Patch retracted for this still-born driver. Instead please use superior uasp.c which was recently submitted.


--- On Thu, 10/28/10, Luben Tuikov <ltuikov@yahoo.com> wrote:

> From: Luben Tuikov <ltuikov@yahoo.com>
> Subject: [PATCH] [USB] UAS: Rename urbs by pipe
> To: "Greg KH" <greg@kroah.com>, linux-usb@vger.kernel.org, linux-kernel@vger.kernel.org, "Matthew Wilcox" <willy@linux.intel.com>
> Date: Thursday, October 28, 2010, 1:05 PM
> The reason to do this is to
> accommodate sending
> different IU types using the existing
> infrastructure.
> 
> Signed-off-by: Luben Tuikov <ltuikov@yahoo.com>
> ---
>  drivers/usb/storage/uas.c |   33
> ++++++++++++++++-----------------
>  1 files changed, 16 insertions(+), 17 deletions(-)
> 
> diff --git a/drivers/usb/storage/uas.c
> b/drivers/usb/storage/uas.c
> index 17e1820..48dc2b8 100644
> --- a/drivers/usb/storage/uas.c
> +++ b/drivers/usb/storage/uas.c
> @@ -97,8 +97,8 @@ struct uas_dev_info {
>  };
>  
>  enum {
> -    ALLOC_SENSE_URB   
>     = (1 << 0),
> -    SUBMIT_SENSE_URB    = (1
> << 1),
> +    ALLOC_STATUS_URB    = (1
> << 0),
> +    SUBMIT_STATUS_URB    =
> (1 << 1),
>      ALLOC_DATA_IN_URB    =
> (1 << 2),
>      SUBMIT_DATA_IN_URB    =
> (1 << 3),
>      ALLOC_DATA_OUT_URB    =
> (1 << 4),
> @@ -112,13 +112,12 @@ struct uas_cmd_info {
>      unsigned int state;
>      unsigned int stream;
>      struct urb *cmd_urb;
> -    struct urb *sense_urb;
> +    struct urb *status_urb;
>      struct urb *data_in_urb;
>      struct urb *data_out_urb;
>      struct list_head list;
>  };
>  
> -/* I hate forward declarations, but I actually have a loop
> */
>  static int uas_submit_urbs(struct scsi_cmnd *cmnd,
>             
>     struct uas_dev_info *devinfo, gfp_t
> gfp);
>  
> @@ -204,7 +203,7 @@ static void uas_xfer_data(struct urb
> *urb, struct scsi_cmnd *cmnd,
>      struct uas_cmd_info *cmdinfo = (void
> *)&cmnd->SCp;
>      int err;
>  
> -    cmdinfo->state = direction |
> SUBMIT_SENSE_URB;
> +    cmdinfo->state = direction |
> SUBMIT_STATUS_URB;
>      err = uas_submit_urbs(cmnd,
> cmnd->device->hostdata, GFP_ATOMIC);
>      if (err) {
>         
> spin_lock(&uas_work_lock);
> @@ -360,21 +359,21 @@ static int uas_submit_urbs(struct
> scsi_cmnd *cmnd,
>  {
>      struct uas_cmd_info *cmdinfo = (void
> *)&cmnd->SCp;
>  
> -    if (cmdinfo->state &
> ALLOC_SENSE_URB) {
> -       
> cmdinfo->sense_urb = uas_alloc_sense_urb(devinfo, gfp,
> cmnd,
> -           
>            
>     cmdinfo->stream);
> -        if
> (!cmdinfo->sense_urb)
> +    if (cmdinfo->state &
> ALLOC_STATUS_URB) {
> +       
> cmdinfo->status_urb = uas_alloc_sense_urb(devinfo, gfp,
> cmnd,
> +           
>            
>       cmdinfo->stream);
> +        if
> (!cmdinfo->status_urb)
>             
> return SCSI_MLQUEUE_DEVICE_BUSY;
> -        cmdinfo->state
> &= ~ALLOC_SENSE_URB;
> +        cmdinfo->state
> &= ~ALLOC_STATUS_URB;
>      }
>  
> -    if (cmdinfo->state &
> SUBMIT_SENSE_URB) {
> -        if
> (usb_submit_urb(cmdinfo->sense_urb, gfp)) {
> +    if (cmdinfo->state &
> SUBMIT_STATUS_URB) {
> +        if
> (usb_submit_urb(cmdinfo->status_urb, gfp)) {
>             
> scmd_printk(KERN_INFO, cmnd,
>             
>         "sense urb submission
> failure\n");
>             
> return SCSI_MLQUEUE_DEVICE_BUSY;
>          }
> -        cmdinfo->state
> &= ~SUBMIT_SENSE_URB;
> +        cmdinfo->state
> &= ~SUBMIT_STATUS_URB;
>      }
>  
>      if (cmdinfo->state &
> ALLOC_DATA_IN_URB) {
> @@ -443,7 +442,7 @@ static int uas_queuecommand(struct
> scsi_cmnd *cmnd,
>  
>      BUILD_BUG_ON(sizeof(struct
> uas_cmd_info) > sizeof(struct scsi_pointer));
>  
> -    if (!cmdinfo->sense_urb &&
> sdev->current_cmnd)
> +    if (!cmdinfo->status_urb &&
> sdev->current_cmnd)
>          return
> SCSI_MLQUEUE_DEVICE_BUSY;
>  
>      if (blk_rq_tagged(cmnd->request)) {
> @@ -455,7 +454,7 @@ static int uas_queuecommand(struct
> scsi_cmnd *cmnd,
>  
>      cmnd->scsi_done = done;
>  
> -    cmdinfo->state = ALLOC_SENSE_URB |
> SUBMIT_SENSE_URB |
> +    cmdinfo->state = ALLOC_STATUS_URB |
> SUBMIT_STATUS_URB |
>             
> ALLOC_CMD_URB | SUBMIT_CMD_URB;
>  
>      switch (cmnd->sc_data_direction) {
> @@ -478,8 +477,8 @@ static int uas_queuecommand(struct
> scsi_cmnd *cmnd,
>      err = uas_submit_urbs(cmnd, devinfo,
> GFP_ATOMIC);
>      if (err) {
>          /* If we did
> nothing, give up now */
> -        if
> (cmdinfo->state & SUBMIT_SENSE_URB) {
> -           
> usb_free_urb(cmdinfo->sense_urb);
> +        if
> (cmdinfo->state & SUBMIT_STATUS_URB) {
> +           
> usb_free_urb(cmdinfo->status_urb);
>             
> return SCSI_MLQUEUE_DEVICE_BUSY;
>          }
>         
> spin_lock(&uas_work_lock);
> -- 
> 1.7.0.1
> 
> 

             reply	other threads:[~2010-12-10 10:50 UTC|newest]

Thread overview: 11+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2010-12-10 10:50 Luben Tuikov [this message]
  -- strict thread matches above, loose matches on Subject: below --
2010-11-08 17:52 [PATCH] [USB] UAS: Rename urbs by pipe Luben Tuikov
2010-10-28 20:05 Luben Tuikov
2010-10-28 20:41 ` Greg KH
2010-10-28 21:43   ` Luben Tuikov
2010-11-08 11:22 ` Matthew Wilcox
2010-11-08 17:17   ` Luben Tuikov
2010-12-01  1:07 ` Greg KH
2010-12-02 21:40   ` Matthew Wilcox
2010-12-02 22:26     ` Luben Tuikov
2010-12-03  0:07       ` Greg KH

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=323235.6308.qm@web31804.mail.mud.yahoo.com \
    --to=ltuikov@yahoo.com \
    --cc=greg@kroah.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-usb@vger.kernel.org \
    --cc=willy@linux.intel.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.