Received: by 2002:a05:6a10:1287:0:0:0:0 with SMTP id d7csp4159191pxv; Mon, 19 Jul 2021 18:49:20 -0700 (PDT) X-Google-Smtp-Source: ABdhPJx1jd1KE710grf/qd/uhzXxD/i3f6yDYG1QNHwGcL6/oVqekPGRJ25RPuw5YjZhtGqVNZSB X-Received: by 2002:a17:906:aad9:: with SMTP id kt25mr10973810ejb.48.1626745760104; Mon, 19 Jul 2021 18:49:20 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1626745760; cv=none; d=google.com; s=arc-20160816; b=usqmqCizwdGMkbeFcSMBHglCBMy5eJukwzIvL+twdZXEPCFASXsgkb+PBUhQMKdO1x i9XsQjc7uGhC3306XS/rXnBfsq/ipfJAhw2PXNPHJOaZxt6ph7JCmjpFaf8zPXT9kbpR 07fiOB3g4Z56pveJlmT3wJmJfcwBFovjyHKCUrwhG2dBM5FLhDglnnpZOY5Iyyi2vCKf meCbDITxdWtvn8suNTaZ9+bT8Y2Oy1cjRzymk3DaF5V3DxUhyj1JcpgdaYPkv7DAyhvd ivLK6mr9rPtdYklLpiqwPXUZS0jFfrxs1hhvbCfm+6RwNzJt8//ZpDuMFPEPFDpLG+jb GK+w== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:content-transfer-encoding:mime-version :user-agent:references:in-reply-to:message-id:date:subject:cc:to :from:dkim-signature; bh=TVRxJXsmnmnxprFQLsqaXX3i0oQqD4XYyZFwm96wVGY=; b=OeCaXk7/egrWWIdn+YbQJWF1m52sgUjwRBmo+OBkPgLKsSc+G8PpAgmmp0G0YwKmt9 bXA9N4S5E3wIx7qbhwJ9LIDZJ+XIwEeE0q2knKoK6upqbeyCjc76W2BfOAt5FWlhq+B3 RbTH5cUWTSPZlBK0Q/TdgaIVnPAnBNP5ovYDT6kN4wxzVY4/oy+Lwloqi8UoW3lBYACq pTKa+JzcJcNuJJoYdsrUQkqvv4IlkYR8I0+5WZY37LZrJkHeJPAfXe+63LtwdAd3lC2+ yH1i3+HG8lm+XcY5fdk1ub4ZVYtbhqgHmGPOn3vrYHHqO9CVnMzsJA9eAlwE7sqZf40C U3Uw== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@linuxfoundation.org header.s=korg header.b=ug4IaOLJ; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=linuxfoundation.org Return-Path: Received: from vger.kernel.org (vger.kernel.org. [23.128.96.18]) by mx.google.com with ESMTP id g16si23121515edv.472.2021.07.19.18.48.58; Mon, 19 Jul 2021 18:49:20 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) client-ip=23.128.96.18; Authentication-Results: mx.google.com; dkim=pass header.i=@linuxfoundation.org header.s=korg header.b=ug4IaOLJ; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=linuxfoundation.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1344237AbhGSPJG (ORCPT + 99 others); Mon, 19 Jul 2021 11:09:06 -0400 Received: from mail.kernel.org ([198.145.29.99]:40456 "EHLO mail.kernel.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1343906AbhGSOsg (ORCPT ); Mon, 19 Jul 2021 10:48:36 -0400 Received: by mail.kernel.org (Postfix) with ESMTPSA id 5ECF6613C1; Mon, 19 Jul 2021 15:24:58 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=linuxfoundation.org; s=korg; t=1626708298; bh=UneAK/DRjDNfyR8fmzdC+wouinMrBxCTvyD8NB2tdLg=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=ug4IaOLJTHu4IBWEFcuPiIvIkNnH2MxI1p5jUhdP2sSfPXemJVqHEw90CBKxJn55U 2aRyz4gWCjCOFdq+uF/zEN5eZNdFdZHWHPnSv0vkZhzPjzosp47ZNSqsoqC9jTteWM DLFRCZRy/mP5H75tF+ZXGKV9kPbUX3pXNXJsOB7c= From: Greg Kroah-Hartman To: linux-kernel@vger.kernel.org Cc: Greg Kroah-Hartman , stable@vger.kernel.org, Johan Hovold , Hans Verkuil , Mauro Carvalho Chehab Subject: [PATCH 4.14 223/315] media: dtv5100: fix control-request directions Date: Mon, 19 Jul 2021 16:51:52 +0200 Message-Id: <20210719144950.760279779@linuxfoundation.org> X-Mailer: git-send-email 2.32.0 In-Reply-To: <20210719144942.861561397@linuxfoundation.org> References: <20210719144942.861561397@linuxfoundation.org> User-Agent: quilt/0.66 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org From: Johan Hovold commit 8c8b9a9be2afa8bd6a72ad1130532baab9fab89d upstream. The direction of the pipe argument must match the request-type direction bit or control requests may fail depending on the host-controller-driver implementation. Fix the control requests which erroneously used usb_rcvctrlpipe(). Fixes: 8466028be792 ("V4L/DVB (8734): Initial support for AME DTV-5100 USB2.0 DVB-T") Cc: stable@vger.kernel.org # 2.6.28 Signed-off-by: Johan Hovold Signed-off-by: Hans Verkuil Signed-off-by: Mauro Carvalho Chehab Signed-off-by: Greg Kroah-Hartman --- drivers/media/usb/dvb-usb/dtv5100.c | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) --- a/drivers/media/usb/dvb-usb/dtv5100.c +++ b/drivers/media/usb/dvb-usb/dtv5100.c @@ -35,6 +35,7 @@ static int dtv5100_i2c_msg(struct dvb_us u8 *wbuf, u16 wlen, u8 *rbuf, u16 rlen) { struct dtv5100_state *st = d->priv; + unsigned int pipe; u8 request; u8 type; u16 value; @@ -43,6 +44,7 @@ static int dtv5100_i2c_msg(struct dvb_us switch (wlen) { case 1: /* write { reg }, read { value } */ + pipe = usb_rcvctrlpipe(d->udev, 0); request = (addr == DTV5100_DEMOD_ADDR ? DTV5100_DEMOD_READ : DTV5100_TUNER_READ); type = USB_TYPE_VENDOR | USB_DIR_IN; @@ -50,6 +52,7 @@ static int dtv5100_i2c_msg(struct dvb_us break; case 2: /* write { reg, value } */ + pipe = usb_sndctrlpipe(d->udev, 0); request = (addr == DTV5100_DEMOD_ADDR ? DTV5100_DEMOD_WRITE : DTV5100_TUNER_WRITE); type = USB_TYPE_VENDOR | USB_DIR_OUT; @@ -63,7 +66,7 @@ static int dtv5100_i2c_msg(struct dvb_us memcpy(st->data, rbuf, rlen); msleep(1); /* avoid I2C errors */ - return usb_control_msg(d->udev, usb_rcvctrlpipe(d->udev, 0), request, + return usb_control_msg(d->udev, pipe, request, type, value, index, st->data, rlen, DTV5100_USB_TIMEOUT); } @@ -150,7 +153,7 @@ static int dtv5100_probe(struct usb_inte /* initialize non qt1010/zl10353 part? */ for (i = 0; dtv5100_init[i].request; i++) { - ret = usb_control_msg(udev, usb_rcvctrlpipe(udev, 0), + ret = usb_control_msg(udev, usb_sndctrlpipe(udev, 0), dtv5100_init[i].request, USB_TYPE_VENDOR | USB_DIR_OUT, dtv5100_init[i].value,