From patchwork Tue Jul 20 14:46:21 2021 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Arnd Bergmann X-Patchwork-Id: 481527 Delivered-To: patch@linaro.org Received: by 2002:a02:c94a:0:0:0:0:0 with SMTP id u10csp5228699jao; Tue, 20 Jul 2021 08:17:03 -0700 (PDT) X-Google-Smtp-Source: ABdhPJwCT2JdgIoAMTHKT9jgCJXT8jrVgLVEYFYgYGbLuOhYJpHVNl+22nKo8BtLduBT3pzMPO4h X-Received: by 2002:a2e:91da:: with SMTP id u26mr17188286ljg.358.1626794223523; Tue, 20 Jul 2021 08:17:03 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1626794223; cv=none; d=google.com; s=arc-20160816; b=t5YIM1HX9k4SzrvsYCLTAo20dLSvPS435Jjd3S190wBEGLF4r+ZmBS8ziO1gXN19LC ALu7qSyZ+9GKKYTed3vNzT5vcmsqbweNPt41JR75mZMr+3zBiprZWeZ8Uql6wypaKYws Lx3C+T8jshKa/8V4E8TO4sKBqr4JVWDEWNT4CQQZ0AZrlkzGSxG0f6g9h2EZnRGhEdQX 2Y8eiXoX0if1oVFkZ32yRbnAoYPVB44pFPPPWj5zEXAQt4UkS3RiDYy4cfr/9UZFE97l npHR+CJVQSoF9IMSe3uFfc1jmlqGIkYJ5itBK8i/vs4jmal5yx2f6K16pOUlLVqXuv+3 UHUg== 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 :references:in-reply-to:message-id:date:subject:cc:to:from :dkim-signature; bh=q4libzsa3UatK/7Aq0S6eQIZWCcjzsYJOutF/jKTDoE=; b=eWS3hS3gOHQynhKwqQ5WxToomfdXUo00RgICm4YqcCUBtrbvAedGPwldQlpkc/oNaB eJwX+/IW68KP+q/cnPQL/Gt6x9EkYE4fAUWWbP86DDam1fVzDqpIw37LJRwLvqs2G0xB DEqIoU7ETGRgDS++MsDVTYkdMsGPZ8H5fXt4JvjMdYpfJIFp/hzD5PYHfed4gPtOxjyw l4o/+HobyhfozPjOeL4BtqnLzwFV0YxC1UIP7RfHjCJYBUANcmfGmsoTLG0TKozniv6v VZMwLW8anqEugrY9OTbhdb0DVc/B01IQzHgRxs64BLXzzKVNcESbY/C3beJz5xH4X4wY AJSQ== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@kernel.org header.s=k20201202 header.b="jVsvPtu/"; spf=pass (google.com: domain of netdev-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=netdev-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=kernel.org Return-Path: Received: from vger.kernel.org (vger.kernel.org. [23.128.96.18]) by mx.google.com with ESMTP id j8si24247821ljq.554.2021.07.20.08.17.03; Tue, 20 Jul 2021 08:17:03 -0700 (PDT) Received-SPF: pass (google.com: domain of netdev-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=@kernel.org header.s=k20201202 header.b="jVsvPtu/"; spf=pass (google.com: domain of netdev-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=netdev-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S239887AbhGTOeo (ORCPT + 8 others); Tue, 20 Jul 2021 10:34:44 -0400 Received: from mail.kernel.org ([198.145.29.99]:55716 "EHLO mail.kernel.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S235623AbhGTORU (ORCPT ); Tue, 20 Jul 2021 10:17:20 -0400 Received: by mail.kernel.org (Postfix) with ESMTPSA id 189EF6124B; Tue, 20 Jul 2021 14:47:07 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1626792428; bh=JFtN3ZKMtFz0ojZN3FkkCYerT3CMEu7AWD0A2O8UDIY=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=jVsvPtu/wdNvHw0ILxeGfEXr9Da+vPo03yMK6qgPGHBaOMOROorTq9k2I46SFGhd5 RMyvuIVcA+WlU+QtJumyz/1a0mqBIrJHgKrZEeLv7Ob1SAAR3sAbUa4yI4/SFk4HcP JvqKOYQxj0oW1BllMUvKMSGfI9usWylLBROi6PuPbrPSoOi8kTxiZz3NQ2Eig+LB+p Ij6UDp+2YC/kCzpVMTtinAN0YXaxmcD9bm2iGvGoqmJzq+B+46QhfGzhqHL/MQ9gm6 qdcAmcWS5UUORtwM7MF3z8svDi6MjHNyuJWRttRz2BzXwD/xp/Z7SRH2ZaXFu7Ls8d y0q0mGOTramVQ== From: Arnd Bergmann To: netdev@vger.kernel.org Cc: Christoph Hellwig , Arnd Bergmann Subject: [PATCH net-next v2 14/31] net: usb: use ndo_siocdevprivate Date: Tue, 20 Jul 2021 16:46:21 +0200 Message-Id: <20210720144638.2859828-15-arnd@kernel.org> X-Mailer: git-send-email 2.29.2 In-Reply-To: <20210720144638.2859828-1-arnd@kernel.org> References: <20210720144638.2859828-1-arnd@kernel.org> MIME-Version: 1.0 Precedence: bulk List-ID: X-Mailing-List: netdev@vger.kernel.org From: Arnd Bergmann The pegasus and rtl8150 drivers use SIOCDEVPRIVATE ioctls to access their MII registers, in place of the normal commands. This is broken for all compat ioctls today. Change to ndo_siocdevprivate to fix it. Signed-off-by: Arnd Bergmann --- drivers/net/usb/pegasus.c | 5 +++-- drivers/net/usb/rtl8150.c | 5 +++-- 2 files changed, 6 insertions(+), 4 deletions(-) -- 2.29.2 diff --git a/drivers/net/usb/pegasus.c b/drivers/net/usb/pegasus.c index 9a907182569c..0475ef0efdca 100644 --- a/drivers/net/usb/pegasus.c +++ b/drivers/net/usb/pegasus.c @@ -987,7 +987,8 @@ static const struct ethtool_ops ops = { .set_link_ksettings = pegasus_set_link_ksettings, }; -static int pegasus_ioctl(struct net_device *net, struct ifreq *rq, int cmd) +static int pegasus_siocdevprivate(struct net_device *net, struct ifreq *rq, + void __user *udata, int cmd) { __u16 *data = (__u16 *) &rq->ifr_ifru; pegasus_t *pegasus = netdev_priv(net); @@ -1245,7 +1246,7 @@ static int pegasus_resume(struct usb_interface *intf) static const struct net_device_ops pegasus_netdev_ops = { .ndo_open = pegasus_open, .ndo_stop = pegasus_close, - .ndo_do_ioctl = pegasus_ioctl, + .ndo_siocdevprivate = pegasus_siocdevprivate, .ndo_start_xmit = pegasus_start_xmit, .ndo_set_rx_mode = pegasus_set_multicast, .ndo_tx_timeout = pegasus_tx_timeout, diff --git a/drivers/net/usb/rtl8150.c b/drivers/net/usb/rtl8150.c index 7656f2a3afd9..4a1b0e0fc3a3 100644 --- a/drivers/net/usb/rtl8150.c +++ b/drivers/net/usb/rtl8150.c @@ -822,7 +822,8 @@ static const struct ethtool_ops ops = { .get_link_ksettings = rtl8150_get_link_ksettings, }; -static int rtl8150_ioctl(struct net_device *netdev, struct ifreq *rq, int cmd) +static int rtl8150_siocdevprivate(struct net_device *netdev, struct ifreq *rq, + void __user *udata, int cmd) { rtl8150_t *dev = netdev_priv(netdev); u16 *data = (u16 *) & rq->ifr_ifru; @@ -850,7 +851,7 @@ static int rtl8150_ioctl(struct net_device *netdev, struct ifreq *rq, int cmd) static const struct net_device_ops rtl8150_netdev_ops = { .ndo_open = rtl8150_open, .ndo_stop = rtl8150_close, - .ndo_do_ioctl = rtl8150_ioctl, + .ndo_siocdevprivate = rtl8150_siocdevprivate, .ndo_start_xmit = rtl8150_start_xmit, .ndo_tx_timeout = rtl8150_tx_timeout, .ndo_set_rx_mode = rtl8150_set_multicast,