@@ -292,6 +292,11 @@ static int uac2_ctl_value_size(int val_type)
292
292
* retrieve a mixer value
293
293
*/
294
294
295
+ static inline int mixer_ctrl_intf (struct usb_mixer_interface * mixer )
296
+ {
297
+ return get_iface_desc (mixer -> hostif )-> bInterfaceNumber ;
298
+ }
299
+
295
300
static int get_ctl_value_v1 (struct usb_mixer_elem_info * cval , int request ,
296
301
int validx , int * value_ret )
297
302
{
@@ -306,7 +311,7 @@ static int get_ctl_value_v1(struct usb_mixer_elem_info *cval, int request,
306
311
return - EIO ;
307
312
308
313
while (timeout -- > 0 ) {
309
- idx = snd_usb_ctrl_intf ( chip ) | (cval -> head .id << 8 );
314
+ idx = mixer_ctrl_intf ( cval -> head . mixer ) | (cval -> head .id << 8 );
310
315
err = snd_usb_ctl_msg (chip -> dev , usb_rcvctrlpipe (chip -> dev , 0 ), request ,
311
316
USB_RECIP_INTERFACE | USB_TYPE_CLASS | USB_DIR_IN ,
312
317
validx , idx , buf , val_len );
@@ -354,7 +359,7 @@ static int get_ctl_value_v2(struct usb_mixer_elem_info *cval, int request,
354
359
if (ret )
355
360
goto error ;
356
361
357
- idx = snd_usb_ctrl_intf ( chip ) | (cval -> head .id << 8 );
362
+ idx = mixer_ctrl_intf ( cval -> head . mixer ) | (cval -> head .id << 8 );
358
363
ret = snd_usb_ctl_msg (chip -> dev , usb_rcvctrlpipe (chip -> dev , 0 ), bRequest ,
359
364
USB_RECIP_INTERFACE | USB_TYPE_CLASS | USB_DIR_IN ,
360
365
validx , idx , buf , size );
@@ -479,7 +484,7 @@ int snd_usb_mixer_set_ctl_value(struct usb_mixer_elem_info *cval,
479
484
return - EIO ;
480
485
481
486
while (timeout -- > 0 ) {
482
- idx = snd_usb_ctrl_intf ( chip ) | (cval -> head .id << 8 );
487
+ idx = mixer_ctrl_intf ( cval -> head . mixer ) | (cval -> head .id << 8 );
483
488
err = snd_usb_ctl_msg (chip -> dev ,
484
489
usb_sndctrlpipe (chip -> dev , 0 ), request ,
485
490
USB_RECIP_INTERFACE | USB_TYPE_CLASS | USB_DIR_OUT ,
@@ -1209,7 +1214,7 @@ static int get_min_max_with_quirks(struct usb_mixer_elem_info *cval,
1209
1214
get_ctl_value (cval , UAC_GET_MIN , (cval -> control << 8 ) | minchn , & cval -> min ) < 0 ) {
1210
1215
usb_audio_err (cval -> head .mixer -> chip ,
1211
1216
"%d:%d: cannot get min/max values for control %d (id %d)\n" ,
1212
- cval -> head .id , snd_usb_ctrl_intf (cval -> head .mixer -> chip ),
1217
+ cval -> head .id , mixer_ctrl_intf (cval -> head .mixer ),
1213
1218
cval -> control , cval -> head .id );
1214
1219
return - EINVAL ;
1215
1220
}
@@ -1428,7 +1433,7 @@ static int mixer_ctl_connector_get(struct snd_kcontrol *kcontrol,
1428
1433
if (ret )
1429
1434
goto error ;
1430
1435
1431
- idx = snd_usb_ctrl_intf ( chip ) | (cval -> head .id << 8 );
1436
+ idx = mixer_ctrl_intf ( cval -> head . mixer ) | (cval -> head .id << 8 );
1432
1437
if (cval -> head .mixer -> protocol == UAC_VERSION_2 ) {
1433
1438
struct uac2_connectors_ctl_blk uac2_conn ;
1434
1439
@@ -3219,7 +3224,7 @@ static void snd_usb_mixer_proc_read(struct snd_info_entry *entry,
3219
3224
list_for_each_entry (mixer , & chip -> mixer_list , list ) {
3220
3225
snd_iprintf (buffer ,
3221
3226
"USB Mixer: usb_id=0x%08x, ctrlif=%i, ctlerr=%i\n" ,
3222
- chip -> usb_id , snd_usb_ctrl_intf ( chip ),
3227
+ chip -> usb_id , mixer_ctrl_intf ( mixer ),
3223
3228
mixer -> ignore_ctl_error );
3224
3229
snd_iprintf (buffer , "Card: %s\n" , chip -> card -> longname );
3225
3230
for (unitid = 0 ; unitid < MAX_ID_ELEMS ; unitid ++ ) {
0 commit comments