Fixed Still Image Host class driver exiting the descriptor search routine prematurely...
authorDean Camera <dean@fourwalledcubicle.com>
Thu, 3 Mar 2011 19:32:27 +0000 (19:32 +0000)
committerDean Camera <dean@fourwalledcubicle.com>
Thu, 3 Mar 2011 19:32:27 +0000 (19:32 +0000)
Fixed missing call to Pipe_SetInfiniteINRequests() in the Pipe_ConfigurePipe() routine.

LUFA/Drivers/USB/Class/Host/StillImage.c
LUFA/Drivers/USB/Core/AVR8/Pipe_AVR8.c

index 1fbe000..c1a6cac 100644 (file)
@@ -51,7 +51,7 @@ uint8_t SI_Host_ConfigurePipes(USB_ClassInfo_SI_Host_t* const SIInterfaceInfo,
        if (DESCRIPTOR_TYPE(ConfigDescriptorData) != DTYPE_Configuration)
          return SI_ENUMERROR_InvalidConfigDescriptor;
 
        if (DESCRIPTOR_TYPE(ConfigDescriptorData) != DTYPE_Configuration)
          return SI_ENUMERROR_InvalidConfigDescriptor;
 
-       while (!(DataINEndpoint) || !(DataOUTEndpoint))
+       while (!(DataINEndpoint) || !(DataOUTEndpoint) || !(EventsEndpoint))
        {
                if (!(StillImageInterface) ||
                    USB_GetNextDescriptorComp(&ConfigDescriptorSize, &ConfigDescriptorData,
        {
                if (!(StillImageInterface) ||
                    USB_GetNextDescriptorComp(&ConfigDescriptorSize, &ConfigDescriptorData,
index 2073c8e..4844529 100644 (file)
@@ -87,6 +87,8 @@ bool Pipe_ConfigurePipe(const uint8_t Number,
                        UPIENXTemp  = UPIENX;
                }
 
                        UPIENXTemp  = UPIENX;
                }
 
+               Pipe_SetInfiniteINRequests();
+       
                if (!(UPCFG1XTemp & (1 << ALLOC)))
                  continue;
                  
                if (!(UPCFG1XTemp & (1 << ALLOC)))
                  continue;