From mboxrd@z Thu Jan 1 00:00:00 1970 From: Eddie Cai Date: Sun, 16 Apr 2017 23:48:53 +0800 Subject: [U-Boot] [U-Boot PATCH V2 5/8] usb: ums: add do_extra_command In-Reply-To: <20170416154856.14636-1-eddie.cai.linux@gmail.com> References: <20170416154856.14636-1-eddie.cai.linux@gmail.com> Message-ID: <20170416154856.14636-6-eddie.cai.linux@gmail.com> List-Id: MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit To: u-boot@lists.denx.de add do_extra_command to let people deal with customized command Signed-off-by: Eddie Cai --- drivers/usb/gadget/f_mass_storage.c | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/drivers/usb/gadget/f_mass_storage.c b/drivers/usb/gadget/f_mass_storage.c index 333f069..d431e53 100644 --- a/drivers/usb/gadget/f_mass_storage.c +++ b/drivers/usb/gadget/f_mass_storage.c @@ -2168,6 +2168,10 @@ unknown_cmnd: return 0; } +int __weak do_extra_command(struct fsg_common *common) +{ + return -EINVAL; +} /*-------------------------------------------------------------------------*/ static int received_cbw(struct fsg_dev *fsg, struct fsg_buffhd *bh) @@ -2540,8 +2544,10 @@ int fsg_main_thread(void *common_) if (!exception_in_progress(common)) common->state = FSG_STATE_DATA_PHASE; - if (do_scsi_command(common) || finish_reply(common)) + if ((do_extra_command(common) && do_scsi_command(common)) || + finish_reply(common)) { continue; + } if (!exception_in_progress(common)) common->state = FSG_STATE_STATUS_PHASE; -- 2.10.2