From: Mikhail Zaytsev <flashed@mail.ru>
To: Alan Stern <stern@rowland.harvard.edu>,
Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Cc: linux-usb@vger.kernel.org, usb-storage@lists.one-eyed-alien.net,
linux-kernel@vger.kernel.org
Subject: [PATCH v1] USB: storage: Notify the subdrivers that they need to reinitialize the device.
Date: Wed, 29 Nov 2017 12:46:46 +0300 [thread overview]
Message-ID: <20171129124646.65a3692e@zaitsev.tver.pg> (raw)
This patch adds the device_reinit function into the us_data structure.
The usb-storage driver uses this function for notify the subdrivers that
they need to reinitialize the device.
Signed-off-by: Mikhail Zaytsev <flashed@mail.ru>
---
drivers/usb/storage/usb.c | 16 ++++++++--------
drivers/usb/storage/usb.h | 8 +++++---
2 files changed, 13 insertions(+), 11 deletions(-)
diff --git a/drivers/usb/storage/usb.c b/drivers/usb/storage/usb.c
index a0c07e05a8f1..60c47b2e877d 100644
--- a/drivers/usb/storage/usb.c
+++ b/drivers/usb/storage/usb.c
@@ -210,10 +210,10 @@ int usb_stor_reset_resume(struct usb_interface *iface)
/* Report the reset to the SCSI core */
usb_stor_report_bus_reset(us);
- /*
- * FIXME: Notify the subdrivers that they need to reinitialize
- * the device
- */
+ if (us->device_reinit) {
+ usb_stor_dbg(us, "-- calling device_reinit()\n");
+ us->device_reinit(us);
+ }
return 0;
}
EXPORT_SYMBOL_GPL(usb_stor_reset_resume);
@@ -242,10 +242,10 @@ int usb_stor_post_reset(struct usb_interface *iface)
/* Report the reset to the SCSI core */
usb_stor_report_bus_reset(us);
- /*
- * FIXME: Notify the subdrivers that they need to reinitialize
- * the device
- */
+ if (us->device_reinit) {
+ usb_stor_dbg(us, "-- calling device_reinit()\n");
+ us->device_reinit(us);
+ }
mutex_unlock(&us->dev_mutex);
return 0;
diff --git a/drivers/usb/storage/usb.h b/drivers/usb/storage/usb.h
index 90133e16bec5..c646a0464a51 100644
--- a/drivers/usb/storage/usb.h
+++ b/drivers/usb/storage/usb.h
@@ -77,9 +77,10 @@ struct us_unusual_dev {
#define US_IOBUF_SIZE 64 /* Size of the DMA-mapped I/O buffer */
#define US_SENSE_SIZE 18 /* Size of the autosense data buffer */
-typedef int (*trans_cmnd)(struct scsi_cmnd *, struct us_data*);
-typedef int (*trans_reset)(struct us_data*);
-typedef void (*proto_cmnd)(struct scsi_cmnd*, struct us_data*);
+typedef int (*trans_cmnd)(struct scsi_cmnd *, struct us_data *);
+typedef int (*trans_reset)(struct us_data *);
+typedef int (*dev_reinit)(struct us_data *);
+typedef void (*proto_cmnd)(struct scsi_cmnd *, struct us_data *);
typedef void (*extra_data_destructor)(void *); /* extra data destructor */
typedef void (*pm_hook)(struct us_data *, int); /* power management hook */
@@ -119,6 +120,7 @@ struct us_data {
/* function pointers for this device */
trans_cmnd transport; /* transport function */
trans_reset transport_reset; /* transport device reset */
+ dev_reinit device_reinit; /* device reinitialize */
proto_cmnd proto_handler; /* protocol handler */
/* SCSI interfaces */
--
next reply other threads:[~2017-11-29 9:47 UTC|newest]
Thread overview: 6+ messages / expand[flat|nested] mbox.gz Atom feed top
2017-11-29 9:46 Mikhail Zaytsev [this message]
2017-11-29 15:42 ` [PATCH v1] USB: storage: Notify the subdrivers that they need to reinitialize the device Alan Stern
2017-11-29 21:03 ` Mikhail Zaytsev
2017-11-29 21:11 ` Alan Stern
2017-11-30 8:54 ` [PATCH v1] USB: storage: Remove obsolete "FIXME" Mikhail Zaytsev
2017-11-30 15:57 ` Alan Stern
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=20171129124646.65a3692e@zaitsev.tver.pg \
--to=flashed@mail.ru \
--cc=gregkh@linuxfoundation.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-usb@vger.kernel.org \
--cc=stern@rowland.harvard.edu \
--cc=usb-storage@lists.one-eyed-alien.net \
/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.