Fix parse of usb device description with multiple configurations
authorCao,Bing Bu <mars@linux.vnet.ibm.com>
Tue, 13 Dec 2011 01:22:20 +0000 (09:22 +0800)
committerGerd Hoffmann <kraxel@redhat.com>
Wed, 4 Jan 2012 10:56:39 +0000 (11:56 +0100)
commit7279a85f37a9cf20b15c86159f0a1f01ce9cead4
tree107cfc42876f6f605da8f3d513769895f0b64aa7
parentf3c6a169a39d188e98c17a0a0ebfa7f85e5aafdd
Fix parse of usb device description with multiple configurations

Changed From V1:
Use DPRINTF instead of fprintf,because it is not an error.

When testing ipod on QEMU by He Jie Xu<xuhj@linux.vnet.ibm.com>,qemu made a assertion.
We found that the ipod with 2 configurations,and the usb-linux did not parse the descriptor correctly.
The descr_len returned is the total length of the all configurations,not one configuration.
The older version will through the other configurations instead of skip,continue parsing the descriptor of interfaces/endpoints in other configurations,then went wrong.

This patch will put the configuration descriptor parse in loop outside and dispel the other configurations not requested.

Signed-off-by: Cao,Bing Bu <mars@linux.vnet.ibm.com>
Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
usb-linux.c