aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorDean Camera <dean@fourwalledcubicle.com>2009-08-27 11:43:37 +0000
committerDean Camera <dean@fourwalledcubicle.com>2009-08-27 11:43:37 +0000
commit023838fe4aad5b5f0da00b767afd1400d4e40b4c (patch)
treef67fdc47fb1a251574cee37eef5979754670c95b
parentf52b265090db54c580be9fd5307b4d5368972f51 (diff)
downloadlufa-023838fe4aad5b5f0da00b767afd1400d4e40b4c.tar.gz
lufa-023838fe4aad5b5f0da00b767afd1400d4e40b4c.tar.bz2
lufa-023838fe4aad5b5f0da00b767afd1400d4e40b4c.zip
Add check to Pipe_IsEndpointBound() in the Mass Storage Host mode Class driver to ensure that multiple instances of the driver can be used on a single device with multiple Mass Storage interfaces.
-rw-r--r--LUFA/Drivers/USB/Class/Host/MassStorage.c7
-rw-r--r--LUFA/ManPages/FutureChanges.txt1
2 files changed, 6 insertions, 2 deletions
diff --git a/LUFA/Drivers/USB/Class/Host/MassStorage.c b/LUFA/Drivers/USB/Class/Host/MassStorage.c
index 1f66aa863..ba281cfa4 100644
--- a/LUFA/Drivers/USB/Class/Host/MassStorage.c
+++ b/LUFA/Drivers/USB/Class/Host/MassStorage.c
@@ -113,8 +113,11 @@ static uint8_t DComp_NextInterfaceBulkDataEndpoint(void* CurrentDescriptor)
uint8_t EndpointType = (DESCRIPTOR_CAST(CurrentDescriptor,
USB_Descriptor_Endpoint_t).Attributes & EP_TYPE_MASK);
- if (EndpointType == EP_TYPE_BULK)
- return DESCRIPTOR_SEARCH_Found;
+ if ((EndpointType == EP_TYPE_BULK) &&
+ (!(Pipe_IsEndpointBound(CurrentEndpoint->EndpointAddress))))
+ {
+ return DESCRIPTOR_SEARCH_Found;
+ }
}
else if (DESCRIPTOR_TYPE(CurrentDescriptor) == DTYPE_Interface)
{
diff --git a/LUFA/ManPages/FutureChanges.txt b/LUFA/ManPages/FutureChanges.txt
index 639e4eee4..ae592fde5 100644
--- a/LUFA/ManPages/FutureChanges.txt
+++ b/LUFA/ManPages/FutureChanges.txt
@@ -12,6 +12,7 @@
* or post your suggestion as an enhancement request to the project bug tracker.
*
* <b>Targeted for This Release:</b>
+ * - Simplify Mass Storage Host LowLevel SCSI demo
* - Finish Host Mode Class Drivers
* ( ) Audio
* (C) CDC