sound: usb-audio: handle wMaxPacketSize for FIXED_ENDPOINT devices

For audio devices that do not have proper audio descriptors (e.g.,
Edirol UA-20), we use hardcoded parameters from our quirks list.
However, we must still read the maximum packet size from the standard
endpoint descriptor; otherwise, we might use packets that are too big
and therefore rejected by the USB core.

Signed-off-by: Clemens Ladisch <clemens@ladisch.de>
Cc: <stable@kernel.org>
Signed-off-by: Takashi Iwai <tiwai@suse.de>

authored by Clemens Ladisch and committed by Takashi Iwai 894dcd78 18e352e4

+1
+1
sound/usb/usbaudio.c
··· 2966 2966 return -EINVAL; 2967 2967 } 2968 2968 alts = &iface->altsetting[fp->altset_idx]; 2969 + fp->maxpacksize = le16_to_cpu(get_endpoint(alts, 0)->wMaxPacketSize); 2969 2970 usb_set_interface(chip->dev, fp->iface, 0); 2970 2971 init_usb_pitch(chip->dev, fp->iface, alts, fp); 2971 2972 init_usb_sample_rate(chip->dev, fp->iface, alts, fp, fp->rate_max);