USB host requesting invalid descriptor length
Requesting 8 bytes for device descriptor is very normal. Windows has been using this to know the exact Endpoint0 max packet size. Since this varies from devices to devices (possible values are 8 ... 64). 8 is chosen because regardless of endpoint0 size, the request will be ended with only one data packet. This should be no problems since device must always return the requested data up to the requested length by the specs. This also applies with configuration descriptor in some OS, the host firstly request only 9 bytes just to know the total length then request the full descriptor afteward.

To sum up, I think your device's problem possibly on something else such as audio class driver