diff options
| author | Takashi Iwai <tiwai@suse.de> | 2024-08-12 09:17:57 +0200 |
|---|---|---|
| committer | Takashi Iwai <tiwai@suse.de> | 2024-08-12 09:17:57 +0200 |
| commit | eb75d05d96b824e14efa4de6c30692d300a9ce67 (patch) | |
| tree | c45c9eeba78667c800c16e2c9d37a73a6b7bbacc /drivers/usb/gadget/function/f_midi2.c | |
| parent | ef9718b3d54e822de294351251f3a574f8a082ce (diff) | |
| parent | 03c5c350e38d9346b69357d0e52c3c40495c14a0 (diff) | |
| download | linux-next-eb75d05d96b824e14efa4de6c30692d300a9ce67.tar.gz linux-next-eb75d05d96b824e14efa4de6c30692d300a9ce67.zip | |
Merge branch 'topic/cirrus-hp-g12' into for-linus
Pull Cirrus HD-audio quirks for HP G12 laptops.
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Diffstat (limited to 'drivers/usb/gadget/function/f_midi2.c')
| -rw-r--r-- | drivers/usb/gadget/function/f_midi2.c | 21 |
1 files changed, 15 insertions, 6 deletions
diff --git a/drivers/usb/gadget/function/f_midi2.c b/drivers/usb/gadget/function/f_midi2.c index 38e8ed3144f0..3f63253ad3e0 100644 --- a/drivers/usb/gadget/function/f_midi2.c +++ b/drivers/usb/gadget/function/f_midi2.c @@ -642,12 +642,21 @@ static void process_ump_stream_msg(struct f_midi2_ep *ep, const u32 *data) if (format) return; // invalid blk = (*data >> 8) & 0xff; - if (blk >= ep->num_blks) - return; - if (*data & UMP_STREAM_MSG_REQUEST_FB_INFO) - reply_ump_stream_fb_info(ep, blk); - if (*data & UMP_STREAM_MSG_REQUEST_FB_NAME) - reply_ump_stream_fb_name(ep, blk); + if (blk == 0xff) { + /* inquiry for all blocks */ + for (blk = 0; blk < ep->num_blks; blk++) { + if (*data & UMP_STREAM_MSG_REQUEST_FB_INFO) + reply_ump_stream_fb_info(ep, blk); + if (*data & UMP_STREAM_MSG_REQUEST_FB_NAME) + reply_ump_stream_fb_name(ep, blk); + } + } else if (blk < ep->num_blks) { + /* only the specified block */ + if (*data & UMP_STREAM_MSG_REQUEST_FB_INFO) + reply_ump_stream_fb_info(ep, blk); + if (*data & UMP_STREAM_MSG_REQUEST_FB_NAME) + reply_ump_stream_fb_name(ep, blk); + } return; } } |
