Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1754368Ab0LJKut (ORCPT ); Fri, 10 Dec 2010 05:50:49 -0500 Received: from web31804.mail.mud.yahoo.com ([68.142.207.67]:23567 "HELO web31804.mail.mud.yahoo.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with SMTP id S1753228Ab0LJKus convert rfc822-to-8bit (ORCPT ); Fri, 10 Dec 2010 05:50:48 -0500 DomainKey-Signature: a=rsa-sha1; q=dns; c=nofws; s=s1024; d=yahoo.com; h=Message-ID:X-YMail-OSG:Received:X-Mailer:Date:From:Reply-To:Subject:To:MIME-Version:Content-Type:Content-Transfer-Encoding; b=dRApB0AFQQ5adyeJbtWd1rSJWyUiNhjwzNtWT/djEK6UKeHPdn7cXx6Bn3NgDNlBgXsvK5lDecFCBdsoopiW0adsXeM7kkwqsgqvIcAGyilCvBrZ59IWShTMO8nkLfTK5+ewiJTbZaGMKyfpDToq8rtj6p5evNDnGWtu/U+E6Yg=; Message-ID: <323235.6308.qm@web31804.mail.mud.yahoo.com> X-YMail-OSG: Dj4Sq3IVM1lad8sPvtKpzQnx8QO7X5qqfjPqWgWUJc6Nrw6 cUOMs1LnJQQKdhl_qp6EQTtENnQSLPImTyLJtNFIdTnIj8ndCOlbUB1vLcAI 1r6HFFsoHLR7ANr2dEdWzev0fRKaJAykkutqVdlR3naTNrM2eaAtYkdATFja _JkicFQ_n.bY0XExCxYCaXAEeaDtdDyG53TbnW4K48ZOf1iMXaL6d57KUJeH RaNCMFVPmxO12Pxv.cfi_XszQBDbtSGRZSzYLRi5rU9H8TT6.jm1OT.1rm9E T4FmyvvqBS6RxFeNWjm4_iv5aufX9VtmlxZsvmlVOKOmq3ZQr9qK7fDPKAou 4MWS1Z7p5vrkTgtzeS1MPouFIt46nbXANEGH5zu5lnPSln9qvmwAsyKndYjx hVZKztUyVyig- X-Mailer: YahooMailClassic/11.4.20 YahooMailWebService/0.8.107.289296 Date: Fri, 10 Dec 2010 02:50:47 -0800 (PST) From: Luben Tuikov Reply-To: ltuikov@yahoo.com Subject: Re: [PATCH] [USB] UAS: Rename urbs by pipe To: Greg KH , linux-usb@vger.kernel.org, linux-kernel@vger.kernel.org, Matthew Wilcox MIME-Version: 1.0 Content-Type: text/plain; charset=iso-8859-1 Content-Transfer-Encoding: 8BIT Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Length: 4967 Lines: 190 Patch retracted for this still-born driver. Instead please use superior uasp.c which was recently submitted. --- On Thu, 10/28/10, Luben Tuikov wrote: > From: Luben Tuikov > Subject: [PATCH] [USB] UAS: Rename urbs by pipe > To: "Greg KH" , linux-usb@vger.kernel.org, linux-kernel@vger.kernel.org, "Matthew Wilcox" > 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 > --- > 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 > > -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/