aboutsummaryrefslogtreecommitdiffstats
path: root/os/hal/include/usbh/dev/msd.h
diff options
context:
space:
mode:
authorDiego Ismirlian <dismirlian (at) google's mail.com>2017-07-04 19:09:39 -0300
committerDiego Ismirlian <dismirlian (at) google's mail.com>2017-07-04 19:09:39 -0300
commitc900c951a339758d8ec34368b226a900e3f22ac0 (patch)
treeddd92acbec830eb2b437e5ea5e09b8895fffbede /os/hal/include/usbh/dev/msd.h
parentd2c155b4cf984b85895c5d786b3621cf19f169e6 (diff)
downloadChibiOS-Contrib-c900c951a339758d8ec34368b226a900e3f22ac0.tar.gz
ChibiOS-Contrib-c900c951a339758d8ec34368b226a900e3f22ac0.tar.bz2
ChibiOS-Contrib-c900c951a339758d8ec34368b226a900e3f22ac0.zip
USBH: MSD: Rework to prevent race conditions on unload
Diffstat (limited to 'os/hal/include/usbh/dev/msd.h')
-rw-r--r--os/hal/include/usbh/dev/msd.h12
1 files changed, 3 insertions, 9 deletions
diff --git a/os/hal/include/usbh/dev/msd.h b/os/hal/include/usbh/dev/msd.h
index 84179c5..4eef6d6 100644
--- a/os/hal/include/usbh/dev/msd.h
+++ b/os/hal/include/usbh/dev/msd.h
@@ -58,6 +58,9 @@ struct USBHMassStorageLUNDriver {
const struct USBHMassStorageDriverVMT *vmt;
_base_block_device_data
+ /* for serializing access to the LUN driver */
+ mutex_t mtx;
+
BlockDeviceInfo info;
USBHMassStorageDriver *msdp;
@@ -68,11 +71,6 @@ struct USBHMassStorageDriver {
/* inherited from abstract class driver */
_usbh_base_classdriver_data
- /* for LUN request serialization, can be removed
- * if the driver is configured to support only one LUN
- * per USBHMassStorageDriver instance */
- mutex_t mtx;
-
usbh_ep_t epin;
usbh_ep_t epout;
uint8_t ifnum;
@@ -98,11 +96,7 @@ extern USBHMassStorageDriver USBHMSD[HAL_USBHMSD_MAX_INSTANCES];
#ifdef __cplusplus
extern "C" {
#endif
- /* Mass Storage Driver */
- void usbhmsdObjectInit(USBHMassStorageDriver *msdp);
-
/* Mass Storage LUN Driver (block driver) */
- void usbhmsdLUNObjectInit(USBHMassStorageLUNDriver *lunp);
void usbhmsdLUNStart(USBHMassStorageLUNDriver *lunp);
void usbhmsdLUNStop(USBHMassStorageLUNDriver *lunp);
bool usbhmsdLUNConnect(USBHMassStorageLUNDriver *lunp);