From patchwork Mon Jun 29 13:10:47 2020 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Andre Edich X-Patchwork-Id: 216920 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-7.0 required=3.0 tests=DKIM_SIGNED,DKIM_VALID, HEADER_FROM_DIFFERENT_DOMAINS, INCLUDES_PATCH, MAILING_LIST_MULTI, SIGNED_OFF_BY, SPF_HELO_NONE, SPF_PASS, URIBL_BLOCKED autolearn=ham autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id 4CE0EC433DF for ; Mon, 29 Jun 2020 19:32:34 +0000 (UTC) Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by mail.kernel.org (Postfix) with ESMTP id 26238206F1 for ; Mon, 29 Jun 2020 19:32:34 +0000 (UTC) Authentication-Results: mail.kernel.org; dkim=fail reason="signature verification failed" (2048-bit key) header.d=microchip.com header.i=@microchip.com header.b="gOIOM1xD"; dkim=pass (1024-bit key) header.d=microchiptechnology.onmicrosoft.com header.i=@microchiptechnology.onmicrosoft.com header.b="fZa2Re/3" Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1733214AbgF2Tcc (ORCPT ); Mon, 29 Jun 2020 15:32:32 -0400 Received: from esa4.microchip.iphmx.com ([68.232.154.123]:52985 "EHLO esa4.microchip.iphmx.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1732951AbgF2Tc0 (ORCPT ); Mon, 29 Jun 2020 15:32:26 -0400 DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple; d=microchip.com; i=@microchip.com; q=dns/txt; s=mchp; t=1593459146; x=1624995146; h=from:to:cc:subject:date:message-id:content-id: content-transfer-encoding:mime-version; bh=gGQVZwE+pnzncmQh0KEc1c95kDfMl6zV343reXKcIds=; b=gOIOM1xDMhvgqXf3lUb1FDjcsPdQPqTt0OyCc44949cv1cwJ+utrVwAp OijKloph3rXoIOaFqdvjI8z4CpoiHReb4skXSw5cpl19QwxUIMYMbWFZt nG99LRGrsOIvAS64aXnHZuCMdsHd/7vwh8Z8sp0abeopaRtaZVB5Gtcxp oOLSjLDYolytsHrmDLCLS0PRMDw+FtcLlfoFUf7S420LjX+3BoZ7gC7/8 UhwAWRNoN4kpFtxgSHrOda14qHqI9XetF10oxpt2WfVdMKPmJizXagvcl MgszoFc1Lw+ih+ONhcoRDK2/xsXBeug24a7dJjRM7hU4R+gD6HBvzIz9E Q==; IronPort-SDR: +GRppOEDOZSQRMMvMEFnKzUoTxHv6A5YH1EH+pJXoobK9HS04/qaa9aiO0irWHdMpK2U8+QLwu 1yU+ejAcTytFvezhqnpNEPbV3YhH/ooNiICkBZqhJKi9RV8hMrmdN1rjCHzrb4wNFPr2iFln6o hAfSYUzz6g2v9Fl4HcswwHsSlS7ew5B78vRJFf0qdpd4/d8TmiUqE146xy8FX115U8/ZyGwxbS flRvVUakFj4zhEHxVXlA8DgCn/8r6XoceJGcfxtxR5K07cclpnOMkmfc/yt8YmdMCmYu2DlKiT +KE= X-IronPort-AV: E=Sophos;i="5.75,294,1589266800"; d="scan'208";a="78141532" Received: from smtpout.microchip.com (HELO email.microchip.com) ([198.175.253.82]) by esa4.microchip.iphmx.com with ESMTP/TLS/AES256-SHA256; 29 Jun 2020 06:10:49 -0700 Received: from chn-vm-ex02.mchp-main.com (10.10.87.72) by chn-vm-ex02.mchp-main.com (10.10.87.72) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.1979.3; Mon, 29 Jun 2020 06:10:31 -0700 Received: from NAM11-BN8-obe.outbound.protection.outlook.com (10.10.215.89) by email.microchip.com (10.10.87.72) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.1979.3 via Frontend Transport; Mon, 29 Jun 2020 06:10:31 -0700 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=HcV9pyWCJjif3kn1BBx9YbW7MyZt+r38YSAJLjCqz9dm/dgUx27gm99LYDJeZNLbiUS1ELC6x5aaFe6f1hFmhXVhH41z04YgPzpMlaheLxYcVe4KOheiwQQ18hRQMfoWGw8F7st4MIVo2dToiFD9nrjJnQpfTzRbXiKi45QNm8FYDnUGwttB/pahXcIjXWCnMxInFHstGstJDYO/4NZLJWKDJ9LXIhSknRlfvT/G5owf+j0QQ/feIrSot/b5CdupBXctmXGFfek44IBjZ951Sh/GHSwTK1HMTweKtQoMsOzgOfkC1p9JvTPA34+guK/W5Ihadif9Dlm8LGkFxpwFVQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=gGQVZwE+pnzncmQh0KEc1c95kDfMl6zV343reXKcIds=; b=mC/6Mcj9bkTsaieIMa1oN1bZvqMBBS6FV7WOEyvNR2pcq6lpSuG/lZC0TLiiTt4p1m20BSkg+qAkiSeFTxZOaKU59c6gDaU0L37naNA80trmnH632iDHBKwAq7Aru8M3xAPfk8fosww5mEY+VbwwjL4maRZauXK79VvBqFMp8igi7mL3YJCQ/ccpjSyHa4AohngAoToe3pDRofSg10vPZhlXKGbL1Wal9snA9VfBewsDyhoNXl+sL3D6jHpaacYgQUfDIxiM4YsArzb0s2dGrXc0SCLygnO2ZEBfdGcaEEInuReX5naXkH6qTz58nsfoCCNTxrC8eC6jHwpVu1UHew== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=microchip.com; dmarc=pass action=none header.from=microchip.com; dkim=pass header.d=microchip.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=microchiptechnology.onmicrosoft.com; s=selector2-microchiptechnology-onmicrosoft-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=gGQVZwE+pnzncmQh0KEc1c95kDfMl6zV343reXKcIds=; b=fZa2Re/3NOcJbwRomZz7QjQUXoRJ/z2esFEipFEl1FhWYE2AczQurD3N23fqqWSodFeE4y6iLT/doD8xzEaZGTIr9ZYHcLCdV5mMZVDFqRdicSfHD94OQq6DGUvvQKZ5dl/tudhdXmNrPkhXW6nHKQGtG1MK51x9kvzBmZrXJek= Received: from BY5PR11MB3927.namprd11.prod.outlook.com (2603:10b6:a03:186::21) by BYAPR11MB3237.namprd11.prod.outlook.com (2603:10b6:a03:1e::19) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.3131.23; Mon, 29 Jun 2020 13:10:47 +0000 Received: from BY5PR11MB3927.namprd11.prod.outlook.com ([fe80::5993:d0ac:9849:d311]) by BY5PR11MB3927.namprd11.prod.outlook.com ([fe80::5993:d0ac:9849:d311%7]) with mapi id 15.20.3131.027; Mon, 29 Jun 2020 13:10:47 +0000 From: To: , , CC: Subject: [PATCH net-next 1/8] smsc95xx: check return value of smsc95xx_reset Thread-Topic: [PATCH net-next 1/8] smsc95xx: check return value of smsc95xx_reset Thread-Index: AQHWTha0HM5d9HIF0k+uJoncphZKgw== Date: Mon, 29 Jun 2020 13:10:47 +0000 Message-ID: <07d84bc9ea8a7282b790795ca3ebfc0c7d63447d.camel@microchip.com> Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: user-agent: Evolution 3.36.3 authentication-results: vger.kernel.org; dkim=none (message not signed) header.d=none;vger.kernel.org; dmarc=none action=none header.from=microchip.com; x-originating-ip: [93.202.178.57] x-ms-publictraffictype: Email x-ms-office365-filtering-correlation-id: 3ba32816-673b-4cfa-3faa-08d81c2dd69a x-ms-traffictypediagnostic: BYAPR11MB3237: x-ms-exchange-transport-forked: True x-microsoft-antispam-prvs: x-bypassexternaltag: True x-ms-oob-tlc-oobclassifiers: OLM:3631; x-forefront-prvs: 044968D9E1 x-ms-exchange-senderadcheck: 1 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: HwaAJxdVUwU0eNgUDqIi0SHbm6qgPtarQvB5wFPGYMqekmlwh6O2iPiR3A7utkdld6bqJRqyqySnqZe65D9EPu+bkYztvT06kLDQgGiFflUQ0rG4wmXvDfLSjz4TMWX4a8ak6ky12h3x3890gJfUSnZhmqFa5Wqm/7f0BYI3IA1GYhe0SDOp4qfWO/OLLcwL6iBzWxkoSEaDE7fu5zh8/8+g16y8oMX2JFXwkrDfwA1lBzqq9+ZCFcDI1nYZcWQpWtlosLsI3uNr+o21EaTcLn4IWdxxj88/Qgbunbmj0VJJ6G0ajXcrP1xKV9nxvEq/ x-forefront-antispam-report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:BY5PR11MB3927.namprd11.prod.outlook.com; PTR:; CAT:NONE; SFTY:; SFS:(376002)(136003)(39860400002)(366004)(396003)(346002)(186003)(76116006)(4326008)(6512007)(8936002)(110136005)(36756003)(71200400001)(66446008)(66946007)(91956017)(66476007)(6486002)(2906002)(86362001)(66556008)(5660300002)(107886003)(64756008)(8676002)(316002)(83380400001)(2616005)(26005)(478600001)(6506007); DIR:OUT; SFP:1101; x-ms-exchange-antispam-messagedata: 3G9pdN1LrhoEOTRSRM5kOy9H+4aIeeRnHpRO/RRHzsjNYiFFt6wFPCmDEEf8vOCZKFY2vJyIwcbzOJegP77izPt/J0zD1odQLfqKAujSL8xums61HFgxLvmagnBV8k5CSMTnNDVTttdxvDOpAACa7hTCnGrbYYxuE+GlK3SxpKko42QfD1M0eUU7Q9UArMY2KOHVjPEw5mkq/Ya/6fJet0JbUwHrUXBGTl6qVALXCpmCCsRiT4aW5yM9glpj6ZGUzxoKGCxT1GcWOpT0FQctBI0n+JIB152MUOsQgVSpBl+G14MIUWL4C/tjcfYNzrRTVXRku6GEI2jR53mE8JmAnRpMSwXawXqsZ4ALq0cAtSj2/gDkxFVqawByzSVGJZ5JL7FrA7VwGk8F75LCqeoGMDXUTl5fD8vLFn10YznNmlbaGtYShMBpFsJ4aKWThE7wJ2V0ub94N3JfNzRQ8j9llXMrtMZ6ZyDmJeYaDuXDTBU= Content-ID: MIME-Version: 1.0 X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-AuthSource: BY5PR11MB3927.namprd11.prod.outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: 3ba32816-673b-4cfa-3faa-08d81c2dd69a X-MS-Exchange-CrossTenant-originalarrivaltime: 29 Jun 2020 13:10:47.0525 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: 3f4057f3-b418-4d4e-ba84-d55b4e897d88 X-MS-Exchange-CrossTenant-mailboxtype: HOSTED X-MS-Exchange-CrossTenant-userprincipalname: d2tfIH5+XvaOWz1R42mGyz6BV+BTujqcX8gIAxVE0MK966+fEZY/81yV/J03r4tjXaoJA05KWJF5/mqg+c8X4RgogAJZ5jUTRMlq4ZoJX6A= X-MS-Exchange-Transport-CrossTenantHeadersStamped: BYAPR11MB3237 Sender: netdev-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: netdev@vger.kernel.org The return value of the function smsc95xx_reset() must be checked to avoid returning false success from the function smsc95xx_bind(). Signed-off-by: Andre Edich Signed-off-by: Parthiban Veerasooran < Parthiban.Veerasooran@microchip.com> --- drivers/net/usb/smsc95xx.c | 6 ++++++ 1 file changed, 6 insertions(+) available */ ret = smsc95xx_read_reg(dev, ID_REV, &val); @@ -1317,6 +1319,10 @@ static int smsc95xx_bind(struct usbnet *dev, struct usb_interface *intf) schedule_delayed_work(&pdata->carrier_check, CARRIER_CHECK_DELAY); return 0; + +free_pdata: + kfree(pdata); + return ret; } static void smsc95xx_unbind(struct usbnet *dev, struct usb_interface *intf) diff --git a/drivers/net/usb/smsc95xx.c b/drivers/net/usb/smsc95xx.c index 3cf4dc3433f9..eb404bb74e18 100644 --- a/drivers/net/usb/smsc95xx.c +++ b/drivers/net/usb/smsc95xx.c @@ -1287,6 +1287,8 @@ static int smsc95xx_bind(struct usbnet *dev, struct usb_interface *intf) /* Init all registers */ ret = smsc95xx_reset(dev); + if (ret) + goto free_pdata; /* detect device revision as different features may be From patchwork Mon Jun 29 13:11:47 2020 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Andre Edich X-Patchwork-Id: 216918 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-7.0 required=3.0 tests=DKIM_SIGNED,DKIM_VALID, HEADER_FROM_DIFFERENT_DOMAINS, INCLUDES_PATCH, MAILING_LIST_MULTI, SIGNED_OFF_BY, SPF_HELO_NONE, SPF_PASS, URIBL_BLOCKED autolearn=ham autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id EF174C433E1 for ; Mon, 29 Jun 2020 19:33:18 +0000 (UTC) Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by mail.kernel.org (Postfix) with ESMTP id C08902076C for ; Mon, 29 Jun 2020 19:33:18 +0000 (UTC) Authentication-Results: mail.kernel.org; dkim=fail reason="signature verification failed" (2048-bit key) header.d=microchip.com header.i=@microchip.com header.b="UBIplL3j"; dkim=pass (1024-bit key) header.d=microchiptechnology.onmicrosoft.com header.i=@microchiptechnology.onmicrosoft.com header.b="Pu7S1DV6" Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1733236AbgF2Tcp (ORCPT ); Mon, 29 Jun 2020 15:32:45 -0400 Received: from esa4.microchip.iphmx.com ([68.232.154.123]:52985 "EHLO esa4.microchip.iphmx.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1733186AbgF2Tc1 (ORCPT ); Mon, 29 Jun 2020 15:32:27 -0400 DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple; d=microchip.com; i=@microchip.com; q=dns/txt; s=mchp; t=1593459147; x=1624995147; h=from:to:cc:subject:date:message-id:content-id: content-transfer-encoding:mime-version; bh=Qs69Z30JUOWLzXq7gWzy7d4CyTdtgAJq6V2MjQlqXgQ=; b=UBIplL3jSaH7PJlX3rv+u4qys0dhwm/3PeTVWl2hKJDIf6EqXNr+Nw3x 6/T6UUdoisaCh2Fv2syc/sHNPNS5GD4svYiIi9ymmJzMtwWXu3usRfB8f 7Sf+LNoLf6WR7D3HA7rgY+fcSZAZkCcSmWRDf3/eUKAp8KbecvfZENMmo bga11fFAn31Mu7WGdJDzERmcxcawWLHZupIySapqjKqZBMCj8Mv1R9N4h THhB7SjJ9UpcHprHxqPXEerW2s0pTC0XcfFh0UnzsqkAB8FjzkC0Dv6c8 RUWCwm69yz1TBR2jvOvKyRIReZeFfsZRnyFVqt2c5gq9fp5gwY7ENtDCe Q==; IronPort-SDR: 2kzJjTw4Yw69CkgRfkC8sG6tkeIPaGCqRWDUYVFU97n7zYSMmId13PfVnF4AHjuhhejc6DRSu/ Cg3LSaTyqMrcx0kxAMCa4VqMPOSS4Wa2ClhHaKqADnE8zLANAaDSvZjRkof3clI3/r7blBstBz AS3nxs2Ba0kZWBIVmpi/JBtjpIQQEdIqeUq9/O782Or2GOpiwr0dbAMjUX+Snt5xKtbeCDVDXS XPj9DxD/BRA3/0xrxhqP4sYnJeC68Vki+80uo4AB4ij0hd7wEk2ry8prQz4zx/gOCecIU6ZNiv Qz8= X-IronPort-AV: E=Sophos;i="5.75,294,1589266800"; d="scan'208";a="78141735" Received: from smtpout.microchip.com (HELO email.microchip.com) ([198.175.253.82]) by esa4.microchip.iphmx.com with ESMTP/TLS/AES256-SHA256; 29 Jun 2020 06:11:49 -0700 Received: from chn-vm-ex03.mchp-main.com (10.10.85.151) by chn-vm-ex04.mchp-main.com (10.10.85.152) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.1979.3; Mon, 29 Jun 2020 06:11:49 -0700 Received: from NAM12-BN8-obe.outbound.protection.outlook.com (10.10.215.89) by email.microchip.com (10.10.87.152) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.1979.3 via Frontend Transport; Mon, 29 Jun 2020 06:11:49 -0700 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=IoYv9qaK/c4QN+q8B74SUviLNcN7KJbdW31q6WbaMfQ4gbuSc5qlNz+iMuXcSLuUhhV0DYY2JEP7we89yVUtZH0NPyH5nLwl4v09fBPdsvGtf0BjALZcMnCRgxa+Mt+PoJ79EQScQnwr6TvlzkmY3yAUtoVbJDGjB0j8X6ZdTEpzJZwwB/V2GQSBaZApWWDODcW5gz068DEPfNjCShmRwxz79yN5AEneEnBKXXpyU1fOpwf62B6w2rTQwVWkykqB3ANMoYsSrFe1LlrYi651pEoln7LnEcmRrpwLUtbqZhGVho1yTW6Sdb+gk9gEza+EcLrpbCLyS59a9O6quQAEFg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=Qs69Z30JUOWLzXq7gWzy7d4CyTdtgAJq6V2MjQlqXgQ=; b=cKP1x63jYj9SpJ5iqWgsISVDodpsY/EeAZQoFwaydSAcAzGJOthqKVp2Vfdy6OP+0/LEAtw8iDSRHbpZAEC1mhMwoR3V4cz5NN8IBaKZ8OIAajaJCxijOLbgl9ynGryPWGdOBA3OJ0+kvT5WMpwpx5CdnVK4N/21g/WzPJRFmbW7g3OLIKfttHlgs5r0lVOUR/gnk3OMHbE0GBoE3SS/HXQiiiltkFRt0gA6S7EpBlNBRZpTWk09l3H4H73ebePh61R+8YI+ZVIqgse5Tz0qCCRKUlcWJOeAhiQVR9LhU1TxchDSzFXPt7kUaUPdDMiT6XPcImmzNhQY3DbKGScBhg== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=microchip.com; dmarc=pass action=none header.from=microchip.com; dkim=pass header.d=microchip.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=microchiptechnology.onmicrosoft.com; s=selector2-microchiptechnology-onmicrosoft-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=Qs69Z30JUOWLzXq7gWzy7d4CyTdtgAJq6V2MjQlqXgQ=; b=Pu7S1DV6BUa0tEvO44PxLbqve0hTpyaqKF03PU+nHkvASfru2OU1V7WOFgkPSFW9QZMb4bIsDno/c9aBC6Wuq/xSDtu/DMqDOnqyVDkzq7Gl4Ty0ADDgwL+glnaDhWJOkg2VfZuxdbnJNedADKyQNFqNrV0IiY7xMkfiQZ4niUI= Received: from BY5PR11MB3927.namprd11.prod.outlook.com (2603:10b6:a03:186::21) by BY5PR11MB4434.namprd11.prod.outlook.com (2603:10b6:a03:1c2::19) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.3131.20; Mon, 29 Jun 2020 13:11:47 +0000 Received: from BY5PR11MB3927.namprd11.prod.outlook.com ([fe80::5993:d0ac:9849:d311]) by BY5PR11MB3927.namprd11.prod.outlook.com ([fe80::5993:d0ac:9849:d311%7]) with mapi id 15.20.3131.027; Mon, 29 Jun 2020 13:11:47 +0000 From: To: , , CC: Subject: [PATCH net-next 4/8] smsc95xx: remove redundant link status checking Thread-Topic: [PATCH net-next 4/8] smsc95xx: remove redundant link status checking Thread-Index: AQHWThbXr+B0X4aF20usRiS6Eln+hw== Date: Mon, 29 Jun 2020 13:11:47 +0000 Message-ID: Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: user-agent: Evolution 3.36.3 authentication-results: vger.kernel.org; dkim=none (message not signed) header.d=none;vger.kernel.org; dmarc=none action=none header.from=microchip.com; x-originating-ip: [93.202.178.57] x-ms-publictraffictype: Email x-ms-office365-filtering-correlation-id: ab5c3853-c57c-4c84-6083-08d81c2dfa63 x-ms-traffictypediagnostic: BY5PR11MB4434: x-ms-exchange-transport-forked: True x-microsoft-antispam-prvs: x-bypassexternaltag: True x-ms-oob-tlc-oobclassifiers: OLM:1303; x-forefront-prvs: 044968D9E1 x-ms-exchange-senderadcheck: 1 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: B0+bCMrl6Ni8m9pWwv8KCFQvqc1ToZh9wzC2SADa0SnQnvfY6WDR67anK65KPk1BZVXRgpgex2gP1BqeMbkF/uux0bSZNpKGiwoBXaYL7JqoSKLgRz1/Dtn88pf4lkf6Ggg0frPm2NeF1MY4mmm+mYog/WnsS4dME16H76ddvBa0G/dDz1alTGJu9ouKFGwqf7/WY5hkzwNtAVeKUdCH/KybAtXeWfSN2J2HeoAEvUXXDweyhAP/1DGqAImiZBaDDKPVnus/m4ShWtiV8Iv9zVWlQDRftJkE5CK7YasIDOnCnu5vhTX4h3FV+xmOkUIs x-forefront-antispam-report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:BY5PR11MB3927.namprd11.prod.outlook.com; PTR:; CAT:NONE; SFTY:; SFS:(396003)(366004)(136003)(39860400002)(346002)(376002)(83380400001)(6512007)(8676002)(8936002)(5660300002)(36756003)(110136005)(4326008)(316002)(2906002)(6486002)(107886003)(66946007)(6506007)(2616005)(76116006)(91956017)(66476007)(66556008)(64756008)(66446008)(186003)(26005)(478600001)(86362001)(71200400001); DIR:OUT; SFP:1101; x-ms-exchange-antispam-messagedata: fzneRlh9dq0FK7/fLCBB/oDAwF1iEVFZqrtDwWDlLmYuxAdqjlhvoRDFwHhdyOohR98NV6kAglIXCYIUmsW8s8h4cwD8kN8W51aqIT6ZS2T8cg1nlYfmnbwswE/5AZiFfY7IdrlyDbziR9DX3aLcY+ZpNJyrulcpm0QFVVguykhD6PLsJxiftkcWNHmcbjPMNTM0YDy8bt3CRckYupSbawASKr7zAYyxX3XVD8YgD/B16MgTHToo1Tu5DrAxdoBw0K/hclUcAbq0V5QdLYN/77gbR8NouO1WyjpMYsRmjtCfr+f8f5KCdjLLxDPQeMDMIDZwneR2LAUelrxVRCA/pOu6IQ23YZNmNPcP/A+QJUVfK0QFvCsxzZPCrACVptYKfyN8Rw7GBGAAESYvlySt/0ifoCETBGWPvnSV3IB9fDHzSNmlGfe1QahM5eU4nmWGBxbZmd1njKqRPbG+1mlVUISxN+2Zpcp/XI9Om7bOZ6s= Content-ID: <81E1262AD1C35C43A83B4BE298672966@namprd11.prod.outlook.com> MIME-Version: 1.0 X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-AuthSource: BY5PR11MB3927.namprd11.prod.outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: ab5c3853-c57c-4c84-6083-08d81c2dfa63 X-MS-Exchange-CrossTenant-originalarrivaltime: 29 Jun 2020 13:11:47.1598 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: 3f4057f3-b418-4d4e-ba84-d55b4e897d88 X-MS-Exchange-CrossTenant-mailboxtype: HOSTED X-MS-Exchange-CrossTenant-userprincipalname: 9oFUVv5wH8tdjs6MkWRvdNoUPopUU2Oik9Qx0EfhtfGvlaCJ6cRCu2waVVpJxO9qRwBQ5UjXSSSBm2iJbmC3xStZi+K1lgXCphjV6kS8TSU= X-MS-Exchange-Transport-CrossTenantHeadersStamped: BY5PR11MB4434 Sender: netdev-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: netdev@vger.kernel.org Current driver supports PAL that does link status checking anyway. Signed-off-by: Andre Edich --- drivers/net/usb/smsc95xx.c | 55 -------------------------------------- 1 file changed, 55 deletions(-) u32 chip_id; u32 mac_cr; @@ -64,8 +62,6 @@ struct smsc95xx_priv { u8 suspend_flags; u8 mdix_ctrl; bool link_ok; - struct delayed_work carrier_check; - struct usbnet *dev; struct mii_bus *mdiobus; struct phy_device *phydev; }; @@ -636,44 +632,6 @@ static void smsc95xx_status(struct usbnet *dev, struct urb *urb) intdata); } -static void set_carrier(struct usbnet *dev, bool link) -{ - struct smsc95xx_priv *pdata = (struct smsc95xx_priv *)(dev- >data[0]); - - if (pdata->link_ok == link) - return; - - pdata->link_ok = link; - - if (link) - usbnet_link_change(dev, 1, 0); - else - usbnet_link_change(dev, 0, 0); -} - -static void check_carrier(struct work_struct *work) -{ - struct smsc95xx_priv *pdata = container_of(work, struct smsc95xx_priv, - carrier_check.work); - struct usbnet *dev = pdata->dev; - int ret; - - if (pdata->suspend_flags != 0) - return; - - ret = smsc95xx_mdio_read(dev->net, dev->mii.phy_id, MII_BMSR); - if (ret < 0) { - netdev_warn(dev->net, "Failed to read MII_BMSR\n"); - return; - } - if (ret & BMSR_LSTATUS) - set_carrier(dev, 1); - else - set_carrier(dev, 0); - - schedule_delayed_work(&pdata->carrier_check, CARRIER_CHECK_DELAY); -} - /* Enable or disable Tx & Rx checksum offload engines */ static int smsc95xx_set_features(struct net_device *netdev, netdev_features_t features) @@ -1363,11 +1321,6 @@ static int smsc95xx_bind(struct usbnet *dev, struct usb_interface *intf) dev->net->min_mtu = ETH_MIN_MTU; dev->net->max_mtu = ETH_DATA_LEN; dev->hard_mtu = dev->net->mtu + dev->net->hard_header_len; - - pdata->dev = dev; - INIT_DELAYED_WORK(&pdata->carrier_check, check_carrier); - schedule_delayed_work(&pdata->carrier_check, CARRIER_CHECK_DELAY); - return 0; unregister_mdio: @@ -1386,7 +1339,6 @@ static void smsc95xx_unbind(struct usbnet *dev, struct usb_interface *intf) struct smsc95xx_priv *pdata = (struct smsc95xx_priv *)(dev- >data[0]); if (pdata) { - cancel_delayed_work_sync(&pdata->carrier_check); mdiobus_unregister(pdata->mdiobus); mdiobus_free(pdata->mdiobus); netif_dbg(dev, ifdown, dev->net, "free pdata\n"); @@ -1651,8 +1603,6 @@ static int smsc95xx_suspend(struct usb_interface *intf, pm_message_t message) return ret; } - cancel_delayed_work_sync(&pdata->carrier_check); - if (pdata->suspend_flags) { netdev_warn(dev->net, "error during last resume\n"); pdata->suspend_flags = 0; @@ -1896,10 +1846,6 @@ static int smsc95xx_suspend(struct usb_interface *intf, pm_message_t message) if (ret && PMSG_IS_AUTO(message)) usbnet_resume(intf); - if (ret) - schedule_delayed_work(&pdata->carrier_check, - CARRIER_CHECK_DELAY); - return ret; } @@ -1919,7 +1865,6 @@ static int smsc95xx_resume(struct usb_interface *intf) /* do this first to ensure it's cleared even in error case */ pdata->suspend_flags = 0; - schedule_delayed_work(&pdata->carrier_check, CARRIER_CHECK_DELAY); if (suspend_flags & SUSPEND_ALLMODES) { /* clear wake-up sources */ diff --git a/drivers/net/usb/smsc95xx.c b/drivers/net/usb/smsc95xx.c index fbb80a7aef32..3b8f7e439f44 100644 --- a/drivers/net/usb/smsc95xx.c +++ b/drivers/net/usb/smsc95xx.c @@ -51,8 +51,6 @@ #define SUSPEND_ALLMODES (SUSPEND_SUSPEND0 | SUSPEND_SUSPEND1 | \ SUSPEND_SUSPEND2 | SUSPEND_SUSPEND3) -#define CARRIER_CHECK_DELAY (2 * HZ) - struct smsc95xx_priv { From patchwork Mon Jun 29 13:12:37 2020 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Andre Edich X-Patchwork-Id: 216928 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-4.2 required=3.0 tests=DKIM_SIGNED,DKIM_VALID, HEADER_FROM_DIFFERENT_DOMAINS, INCLUDES_PATCH, MAILING_LIST_MULTI, SIGNED_OFF_BY, SPF_HELO_NONE, SPF_PASS, UNWANTED_LANGUAGE_BODY, URIBL_BLOCKED autolearn=ham autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id 16CE2C433E0 for ; Mon, 29 Jun 2020 19:12:34 +0000 (UTC) Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by mail.kernel.org (Postfix) with ESMTP id DBAE2206E9 for ; Mon, 29 Jun 2020 19:12:33 +0000 (UTC) Authentication-Results: mail.kernel.org; dkim=fail reason="signature verification failed" (2048-bit key) header.d=microchip.com header.i=@microchip.com header.b="xk/csrET"; dkim=pass (1024-bit key) header.d=microchiptechnology.onmicrosoft.com header.i=@microchiptechnology.onmicrosoft.com header.b="hgEVNH6p" Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1731062AbgF2TMd (ORCPT ); Mon, 29 Jun 2020 15:12:33 -0400 Received: from esa5.microchip.iphmx.com ([216.71.150.166]:33140 "EHLO esa5.microchip.iphmx.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1728045AbgF2TMa (ORCPT ); Mon, 29 Jun 2020 15:12:30 -0400 DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple; d=microchip.com; i=@microchip.com; q=dns/txt; s=mchp; t=1593457950; x=1624993950; h=from:to:cc:subject:date:message-id:content-id: content-transfer-encoding:mime-version; bh=9v0NonQR+jd0mWEGjtTii8ov6prejkupZ4PNCmplmEQ=; b=xk/csrETvkiCrG/TQs1dhAawdWP/i2w5Ny5n9W0ZCZaATGoH15uerIxU VzQM4muKweLyHkodsKAimSJ//ecgxNCoggWS8u3q2isET95lLiMntaZCP 4oXf5stZp6of462c8wFNFvwZIB2WxYwH+zJQPBRDYJKwtMe69Z2Ed3GG8 +j+lfIpFhRZ6G6PeFqYJEiq6MzQjWB34CpEeUgsYey0lkFHQ3sY4XE+HD C17o4mnrTr7I8RsVSVNqVGjARSJCiGE8g3keei3xTq+iTfstq9CCuS+Z1 X+abDrPIHRsgw2Hhhd0LbI0TdMsctC+aH90cdQcNUCf6IgJikFY4zVHs/ A==; IronPort-SDR: UxPJI7sB2Tihrc+ahM18kSkoNy9TUt83SKYkh85hnQcHIGYnLnkkQ9poH6lbOu8gPLrz34yFWZ CF9u1bsBczYouxjsWHNvaadaLqyPmLxWnbjnQapCCXWOv8Ac82diRfM1Ko3aSryzyO9E2mpNbk P4Xsj7Be5nvhNRfue4MNeC6iIZYOx5Qo+Jo+mHuYL3Oivrqbq3c8MPobutgZUL8uxIiV1MoQa0 VpOTqplX58ff2QCwRuTE++c2guWgOxYVr+PhTnd/RWx7v03mfwlXgekXNbYb+WNokq8krlfikA s78= X-IronPort-AV: E=Sophos;i="5.75,294,1589266800"; d="scan'208";a="81221189" Received: from smtpout.microchip.com (HELO email.microchip.com) ([198.175.253.82]) by esa5.microchip.iphmx.com with ESMTP/TLS/AES256-SHA256; 29 Jun 2020 06:12:40 -0700 Received: from chn-vm-ex03.mchp-main.com (10.10.85.151) by chn-vm-ex02.mchp-main.com (10.10.85.144) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.1979.3; Mon, 29 Jun 2020 06:12:21 -0700 Received: from NAM12-BN8-obe.outbound.protection.outlook.com (10.10.215.89) by email.microchip.com (10.10.87.152) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.1979.3 via Frontend Transport; Mon, 29 Jun 2020 06:12:39 -0700 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=UzuJYTDNewD7zwAF/KHUUFzWua4FdQv25oKYNzxr+QxrKSPuAx+He//KF/fAFkO0Km+09uV3QIZnrBPkgPXAA1zzveZlrY0wUArd3EPR5A3pfg5YUwJTIvYZfiQNBygsYnJQ24Y/p6tr6JT4Eu/xFilQZTR4SDRXeOorBYoQg9LLTGobbJ0kWOBxab45+qUidPg4Hsi6o2uODY8UgC6fTtBu69DEPNC4n5iPWM7BtGQC5QYiA3K0Pz5XOjPKq/oFBG+uFKL9yClzMhwlc50U01QDWyKjS5NKeFgX3HP3/6Um0kag+8JqsV+wbivTw7cjcNO/M9at88fIYwu90QZalQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=9v0NonQR+jd0mWEGjtTii8ov6prejkupZ4PNCmplmEQ=; b=TtwUejN88ntNp/ertWHTBLqNPG4QNmgERCGJBQftc8SzyxLMjlU26rBjBZWoiw53qt43Z8RPNr8JbybKaoIDoZzgJ09+FCWX6kVsHajssi8jtZOg2UivCuiZWzP6lQhXTsyh9ErM6Yj8aBAPdr9CZulE3yrnbIX/RkVXsK4/DEpu5AHR+s5Ut4+hxoLEeOc6u0xqF/AveijE0zU9U3Hp2AR83c08mhOaKsxX7nzT1k1tbvqyvla72jVYdRTQ/0EVoD1y1yV6Wupy3rjClnWXc59PUkIb9xpDqjRApq/raxEOTyXgwxrLQgSoJrJpWs2+QCjp9hn3SXvv99I4ie79Pw== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=microchip.com; dmarc=pass action=none header.from=microchip.com; dkim=pass header.d=microchip.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=microchiptechnology.onmicrosoft.com; s=selector2-microchiptechnology-onmicrosoft-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=9v0NonQR+jd0mWEGjtTii8ov6prejkupZ4PNCmplmEQ=; b=hgEVNH6p77MUoL0ZJgPYzRkqoy3FncpQEm3pr9m3/HP0tDcYeaxdRiVwvJcfuST1VS5PMOSTFJMHSWzfaKQtQd3w9ilLJaFoO4ar3ysHg/8rchwZe8vrm74/q4Vg7KjmY/CJhznZLdbxt5GOb2xlomd6QnBvzyFBiTKgARtjsgY= Received: from BY5PR11MB3927.namprd11.prod.outlook.com (2603:10b6:a03:186::21) by BY5PR11MB4434.namprd11.prod.outlook.com (2603:10b6:a03:1c2::19) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.3131.20; Mon, 29 Jun 2020 13:12:37 +0000 Received: from BY5PR11MB3927.namprd11.prod.outlook.com ([fe80::5993:d0ac:9849:d311]) by BY5PR11MB3927.namprd11.prod.outlook.com ([fe80::5993:d0ac:9849:d311%7]) with mapi id 15.20.3131.027; Mon, 29 Jun 2020 13:12:37 +0000 From: To: , , CC: Subject: [PATCH net-next 5/8] smsc95xx: use PAL framework read/write functions Thread-Topic: [PATCH net-next 5/8] smsc95xx: use PAL framework read/write functions Thread-Index: AQHWThb1dhSsqe9GF0Cc+vjioDDITQ== Date: Mon, 29 Jun 2020 13:12:37 +0000 Message-ID: <574a2386c1b9ed6c18ce0f20d7afbae0826faaae.camel@microchip.com> Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: user-agent: Evolution 3.36.3 authentication-results: vger.kernel.org; dkim=none (message not signed) header.d=none;vger.kernel.org; dmarc=none action=none header.from=microchip.com; x-originating-ip: [93.202.178.57] x-ms-publictraffictype: Email x-ms-office365-filtering-correlation-id: e61ebb11-e31e-4f2b-69fa-08d81c2e1836 x-ms-traffictypediagnostic: BY5PR11MB4434: x-ms-exchange-transport-forked: True x-microsoft-antispam-prvs: x-bypassexternaltag: True x-ms-oob-tlc-oobclassifiers: OLM:255; x-forefront-prvs: 044968D9E1 x-ms-exchange-senderadcheck: 1 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: 9a69o0CHuKLo+dTjRQ0ptbUAS9ZjzpsHxHuoI531d31JLw6uqOgy2F8b86uBnI+bhz8stitN4/zz7k4vNRWbof3WRzzB4K0lg/lBGt31ut1ipK+2xwu0CWQsSOxIwlGDzapFCCM8YkOxB3+J8n3U4E2lusJKPOabU1dQdRde8EI2aGB4XTLwOmzhATHkLPsnX+CA7M2QAEjMVtPSqZ+/njyMhdBpcXdZwZaN1XWQahLGDaQHOX6sBoBzEX0hGGrSvJPJCQPkeuFKaebU+Tm2CR0mPc/7HbuwP5UotE6CbwiXE/HfWmv8QAHAYad+3yRcmNoCWFbpawOgP7WtWejlCw== x-forefront-antispam-report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:BY5PR11MB3927.namprd11.prod.outlook.com; PTR:; CAT:NONE; SFTY:; SFS:(396003)(366004)(136003)(39860400002)(346002)(376002)(83380400001)(6512007)(8676002)(8936002)(5660300002)(36756003)(110136005)(4326008)(316002)(2906002)(6486002)(107886003)(66946007)(6506007)(2616005)(76116006)(91956017)(66476007)(66556008)(64756008)(66446008)(186003)(26005)(478600001)(86362001)(71200400001); DIR:OUT; SFP:1101; x-ms-exchange-antispam-messagedata: xqDm45XLn9J+BdHnOmnBSG18vFoko5NdgWB4XFl5lLY/Cozi/Jdy+TOZJLTN/il1Ct3wHlovsimjoPAqMbScvz6qEjxjwhPPvYTGyM4x1/9w+b30sjAFog2ywb1kXB4utk3+2NNpcOe3D4CVgxqNwi3+Ezdun1xwJQAFLAk3bFnrs4OLAJzlL9sH0WkjMEvOelzl8nFbkzRYg4/KjiJERLpihn5iSP77WTSnBqifRt6HuDZGvllqikkAgcuENXL2sjZMd16U/QvKjBUphu9lDfQCIcTD2fENSfoFTu2Si+ZPlFEw5aa3XSLQu16og1D1WbmKvCYwx0K8KLPTWK9r9iR38DhEw1/EvDZy6bGt0PbG6A8e+sFh+GGkIuhp/drtt03W3mlTijCtbOvg8jDTXUQ9ZlIDYFHxAOWj+daTCpmLYm+pI1iPMEjwjtTgCN0mriJlG0bsztD/ffK4eYi7zOXIA/4s1q3tk/UaR//Z2aLuoRSFehnMsvMEL4nNR7Yq Content-ID: <4F92DBBDCB4C98499C62D5C4FF37AB96@namprd11.prod.outlook.com> MIME-Version: 1.0 X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-AuthSource: BY5PR11MB3927.namprd11.prod.outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: e61ebb11-e31e-4f2b-69fa-08d81c2e1836 X-MS-Exchange-CrossTenant-originalarrivaltime: 29 Jun 2020 13:12:37.1608 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: 3f4057f3-b418-4d4e-ba84-d55b4e897d88 X-MS-Exchange-CrossTenant-mailboxtype: HOSTED X-MS-Exchange-CrossTenant-userprincipalname: BzSxLzh5sPEerYpDAq3iL/GE9dqq6IrBQ6JUWPeG4VrBWFe6WNkVRqvKFn9B+0ZoH8qgPmriSWkL2I6ZJYD17siti5C3bPfE0rOZUPk/8MU= X-MS-Exchange-Transport-CrossTenantHeadersStamped: BY5PR11MB4434 Sender: netdev-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: netdev@vger.kernel.org Use functions phy_read and phy_write instead of smsc95xx_mdio_read and smsc95xx_mdio_write respectively. Signed-off-by: Andre Edich --- drivers/net/usb/smsc95xx.c | 33 +++++++++++++-------------------- 1 file changed, 13 insertions(+), 20 deletions(-) "speed: %u duplex: %d lcladv: %04x rmtadv: %04x\n", @@ -753,10 +753,11 @@ static int smsc95xx_ethtool_set_wol(struct net_device *net, static int get_mdix_status(struct net_device *net) { struct usbnet *dev = netdev_priv(net); + struct smsc95xx_priv *pdata = (struct smsc95xx_priv *)(dev- >data[0]); u32 val; int buf; - buf = smsc95xx_mdio_read(dev->net, dev->mii.phy_id, SPECIAL_CTRL_STS); + buf = phy_read(pdata->phydev, SPECIAL_CTRL_STS); if (buf & SPECIAL_CTRL_STS_OVRRD_AMDIX_) { if (buf & SPECIAL_CTRL_STS_AMDIX_ENABLE_) return ETH_TP_MDI_AUTO; @@ -782,39 +783,31 @@ static void set_mdix_status(struct net_device *net, __u8 mdix_ctrl) (pdata->chip_id == ID_REV_CHIP_ID_89530_) || (pdata->chip_id == ID_REV_CHIP_ID_9730_)) { /* Extend Manual AutoMDIX timer for 9500A/9500Ai */ - buf = smsc95xx_mdio_read(dev->net, dev->mii.phy_id, - PHY_EDPD_CONFIG); + buf = phy_read(pdata->phydev, PHY_EDPD_CONFIG); buf |= PHY_EDPD_CONFIG_EXT_CROSSOVER_; - smsc95xx_mdio_write(dev->net, dev->mii.phy_id, - PHY_EDPD_CONFIG, buf); + phy_write(pdata->phydev, PHY_EDPD_CONFIG, buf); } if (mdix_ctrl == ETH_TP_MDI) { - buf = smsc95xx_mdio_read(dev->net, dev->mii.phy_id, - SPECIAL_CTRL_STS); + buf = phy_read(pdata->phydev, SPECIAL_CTRL_STS); buf |= SPECIAL_CTRL_STS_OVRRD_AMDIX_; buf &= ~(SPECIAL_CTRL_STS_AMDIX_ENABLE_ | SPECIAL_CTRL_STS_AMDIX_STATE_); - smsc95xx_mdio_write(dev->net, dev->mii.phy_id, - SPECIAL_CTRL_STS, buf); + phy_write(pdata->phydev, SPECIAL_CTRL_STS, buf); } else if (mdix_ctrl == ETH_TP_MDI_X) { - buf = smsc95xx_mdio_read(dev->net, dev->mii.phy_id, - SPECIAL_CTRL_STS); + buf = phy_read(pdata->phydev, SPECIAL_CTRL_STS); buf |= SPECIAL_CTRL_STS_OVRRD_AMDIX_; buf &= ~(SPECIAL_CTRL_STS_AMDIX_ENABLE_ | SPECIAL_CTRL_STS_AMDIX_STATE_); buf |= SPECIAL_CTRL_STS_AMDIX_STATE_; - smsc95xx_mdio_write(dev->net, dev->mii.phy_id, - SPECIAL_CTRL_STS, buf); + phy_write(pdata->phydev, SPECIAL_CTRL_STS, buf); } else if (mdix_ctrl == ETH_TP_MDI_AUTO) { - buf = smsc95xx_mdio_read(dev->net, dev->mii.phy_id, - SPECIAL_CTRL_STS); + buf = phy_read(pdata->phydev, SPECIAL_CTRL_STS); buf &= ~SPECIAL_CTRL_STS_OVRRD_AMDIX_; buf &= ~(SPECIAL_CTRL_STS_AMDIX_ENABLE_ | SPECIAL_CTRL_STS_AMDIX_STATE_); buf |= SPECIAL_CTRL_STS_AMDIX_ENABLE_; - smsc95xx_mdio_write(dev->net, dev->mii.phy_id, - SPECIAL_CTRL_STS, buf); + phy_write(pdata->phydev, SPECIAL_CTRL_STS, buf); } pdata->mdix_ctrl = mdix_ctrl; } diff --git a/drivers/net/usb/smsc95xx.c b/drivers/net/usb/smsc95xx.c index 3b8f7e439f44..11af5d5ece60 100644 --- a/drivers/net/usb/smsc95xx.c +++ b/drivers/net/usb/smsc95xx.c @@ -574,7 +574,7 @@ static int smsc95xx_link_reset(struct usbnet *dev) int ret; /* clear interrupt status */ - ret = smsc95xx_mdio_read(dev->net, mii->phy_id, PHY_INT_SRC); + ret = phy_read(pdata->phydev, PHY_INT_SRC); if (ret < 0) return ret; @@ -584,8 +584,8 @@ static int smsc95xx_link_reset(struct usbnet *dev) mii_check_media(mii, 1, 1); mii_ethtool_gset(&dev->mii, &ecmd); - lcladv = smsc95xx_mdio_read(dev->net, mii->phy_id, MII_ADVERTISE); - rmtadv = smsc95xx_mdio_read(dev->net, mii->phy_id, MII_LPA); + lcladv = phy_read(pdata->phydev, MII_ADVERTISE); + rmtadv = phy_read(pdata->phydev, MII_LPA); netif_dbg(dev, link, dev->net, From patchwork Mon Jun 29 13:13:18 2020 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Andre Edich X-Patchwork-Id: 216923 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-7.0 required=3.0 tests=DKIM_SIGNED,DKIM_VALID, HEADER_FROM_DIFFERENT_DOMAINS, INCLUDES_PATCH, MAILING_LIST_MULTI, SIGNED_OFF_BY, SPF_HELO_NONE, SPF_PASS, URIBL_BLOCKED autolearn=ham autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id 6CE4BC433E2 for ; Mon, 29 Jun 2020 19:19:47 +0000 (UTC) Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by mail.kernel.org (Postfix) with ESMTP id 3CF15206A5 for ; Mon, 29 Jun 2020 19:19:47 +0000 (UTC) Authentication-Results: mail.kernel.org; dkim=fail reason="signature verification failed" (2048-bit key) header.d=microchip.com header.i=@microchip.com header.b="XZeeUWUe"; dkim=pass (1024-bit key) header.d=microchiptechnology.onmicrosoft.com header.i=@microchiptechnology.onmicrosoft.com header.b="fIFet3Dx" Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1731781AbgF2TTq (ORCPT ); Mon, 29 Jun 2020 15:19:46 -0400 Received: from esa2.microchip.iphmx.com ([68.232.149.84]:35783 "EHLO esa2.microchip.iphmx.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1732072AbgF2TTo (ORCPT ); Mon, 29 Jun 2020 15:19:44 -0400 DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple; d=microchip.com; i=@microchip.com; q=dns/txt; s=mchp; t=1593458383; x=1624994383; h=from:to:cc:subject:date:message-id:content-id: content-transfer-encoding:mime-version; bh=S7RV17VsWqu3dyTvljWWEJLWl/0iARjuqJBb/CFh71g=; b=XZeeUWUe2tnA2JsTMmi9TvSegTjI6WqDJ8zFIb7Lpv1mwiXenkMKrsJO y7W17tkhbJ1a8rTsRqHs3o/ZKvvuPedeEz1ANnDklCkdHcOpXbwYWB3uf 8W5nxmqVHusvGw+VHUsKEHbovQEzJOVOE/qS2eJHrogsmMcg0YXsjAr9p QF7EPzGpydbNmSBlDolRM+kLV+P8VQCkbYTSQfdROxOdRWuLYPAECmKNs KO1SLjKfft1bkEZ8NXCQ7KfA6iS2uBPReGyjHZr3MSVjI273Bm26rsnaZ o8P6cD+Qn5V1rPgZdyElivfytZ0dUafsdpOpu9XgF6ey25yHIqWJfYsXO w==; IronPort-SDR: 7/f5Nyv9y5UVQ8Vk8NJwxeYxa4i+tcXtoYXC6nEseeG/M7HTVSV043UcJhjcKRPWR5QALF8XRP Reh7NlPFffWJjCondHZySLGwsMSM0Zi9VH6yUgCHI/DJSDZWdqOem/4GAWjOjkwOpqkZ2HIA5F qMhICudoBLerUSTO3FI8thKSphNABh9C3wUlyStXiNzPNLbN+vfQWtpG8G4fKlyHZuNcvWoBkR U9XKvWedkMkqU7SPkZ/lbU0psdROxr7KdGvd1xauxE0qjQZlRZRZoiBadQEnw38VunzLKsGPn8 dvw= X-IronPort-AV: E=Sophos;i="5.75,294,1589266800"; d="scan'208";a="80077633" Received: from smtpout.microchip.com (HELO email.microchip.com) ([198.175.253.82]) by esa2.microchip.iphmx.com with ESMTP/TLS/AES256-SHA256; 29 Jun 2020 06:13:21 -0700 Received: from chn-vm-ex04.mchp-main.com (10.10.85.152) by chn-vm-ex03.mchp-main.com (10.10.85.151) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.1979.3; Mon, 29 Jun 2020 06:13:21 -0700 Received: from NAM12-BN8-obe.outbound.protection.outlook.com (10.10.215.89) by email.microchip.com (10.10.87.151) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.1979.3 via Frontend Transport; Mon, 29 Jun 2020 06:13:21 -0700 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=Ei4ML5ZCGJEc/hTmgiitI/TnCYS/iPtc24AM3CG1/EWVcNtHEitwfxbtEF2rlSBm9un70DIBGohzM7ZSp6eHLl1RCNpjeEPrsuTnXMG0MbzDBWnmqr2TitCZUYZ7IeJtL2dJy2PazTKbuX+0kaaJtqAp+cUA4HRczeIN5M/4HnXBBIvT7wuFD47CAmCpGGnro4odVQX7P6voGrddBonMxB5NwK82NfedZD7OynhrblCDOekesmw5owWI0M940NUK6DZcXhLmf2yDtQ2w0KZSV+3cVFToiySr4+Do0REg2Kt6WYUe6VTwSfP0TS734mJS6yBsmsStM0By930R01W0cw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=S7RV17VsWqu3dyTvljWWEJLWl/0iARjuqJBb/CFh71g=; b=ZSKLPwzR7y9jAkH+3fb4d60qNAUoOCusQOGVyzOhqe/M4V/Gy7ciS/20xy/tTPHcpNMujrF+LxzZWjf1tjfGkQpZkT7fNyjnZsoa7+kbVA4U0eufSPccmRrUhUjXLQZaRhMylurGQtCqoG2NxYmp1Q3OGybOQo9nLIlZeYrFrqbV8FTZYCTBdVjJTX0dQ9IOicmnXoeGAfndDoDz1zTH3p83uytaSy6EpF33h7l5/Jq+ZY68exQM7F7nLHe6zQfOlzakUTjeMJfuqolLuCT3ugZqgZperqG/y4hQs1CtLQdlH/1xCUO5bKRq/YBgMM2JaU9lGLWmBF2vtRpaym+M+A== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=microchip.com; dmarc=pass action=none header.from=microchip.com; dkim=pass header.d=microchip.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=microchiptechnology.onmicrosoft.com; s=selector2-microchiptechnology-onmicrosoft-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=S7RV17VsWqu3dyTvljWWEJLWl/0iARjuqJBb/CFh71g=; b=fIFet3DxXO8dd447aiP1IGFcZEnByJ2QhGAUAaz9x7Zh5zN7jt553jKB0Yd+Pn76XO8oxqrOy9TUh9TR2W4tdrlQIyE738koxdBZsAiC7m4Zm4emsRjNemgBjT89cUEVM+EsAJ2lRUGfCAJkDrK6sJgaf3JEDer2v/0LvmfQioI= Received: from BY5PR11MB3927.namprd11.prod.outlook.com (2603:10b6:a03:186::21) by BY5PR11MB4434.namprd11.prod.outlook.com (2603:10b6:a03:1c2::19) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.3131.20; Mon, 29 Jun 2020 13:13:19 +0000 Received: from BY5PR11MB3927.namprd11.prod.outlook.com ([fe80::5993:d0ac:9849:d311]) by BY5PR11MB3927.namprd11.prod.outlook.com ([fe80::5993:d0ac:9849:d311%7]) with mapi id 15.20.3131.027; Mon, 29 Jun 2020 13:13:19 +0000 From: To: , , CC: Subject: [PATCH net-next 7/8] smsc95xx: use PHY framework instead of MII library Thread-Topic: [PATCH net-next 7/8] smsc95xx: use PHY framework instead of MII library Thread-Index: AQHWThcOXiClW+0yNkaESaHFHegHIA== Date: Mon, 29 Jun 2020 13:13:18 +0000 Message-ID: Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: user-agent: Evolution 3.36.3 authentication-results: vger.kernel.org; dkim=none (message not signed) header.d=none;vger.kernel.org; dmarc=none action=none header.from=microchip.com; x-originating-ip: [93.202.178.57] x-ms-publictraffictype: Email x-ms-office365-filtering-correlation-id: 6f6bff8b-a442-4d10-090b-08d81c2e311b x-ms-traffictypediagnostic: BY5PR11MB4434: x-ms-exchange-transport-forked: True x-microsoft-antispam-prvs: x-bypassexternaltag: True x-ms-oob-tlc-oobclassifiers: OLM:6108; x-forefront-prvs: 044968D9E1 x-ms-exchange-senderadcheck: 1 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: ligNQ7Ud1r9iDnQuGGevecaNAJaVgrMxlb/mzcBBpA+uXljmB8um55L2dWLsafrgirt9KZlJKQEqdMxwJGgYkc8sbQrWoPtkuK9t2gIXoPlmbW+DKWrGnwSneI3kWipK3zxIGaYeSPa/RK0TtDljzmflAiz2vk3fb5UxYoEh+baDtboWa0AwCre0e9vC/glljXWhU3WUsR65no749QiH5sxurU1/MNK2UCJaoGu0ZgH9gZo8BpJAodMn2Z04laDj6mWDYJmHUH34h3+3DEAbIYYvdCLTw9Gst3Fpo/q30agg/wq/zlcnJzElpn+YXdiJXqEUHDOW2dHWBQ6hi13Axw== x-forefront-antispam-report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:BY5PR11MB3927.namprd11.prod.outlook.com; PTR:; CAT:NONE; SFTY:; SFS:(396003)(366004)(136003)(39860400002)(346002)(376002)(83380400001)(6512007)(8676002)(8936002)(5660300002)(36756003)(110136005)(4326008)(316002)(2906002)(6486002)(107886003)(66946007)(6506007)(2616005)(76116006)(91956017)(66476007)(66556008)(64756008)(66446008)(186003)(26005)(478600001)(86362001)(71200400001); DIR:OUT; SFP:1101; x-ms-exchange-antispam-messagedata: Tlgvxq5HS5ASyn80aauvG0Ulx+VJF9iy7QtT6eW9smF2DZbQKDA6iJXG3oPOWKdlW34vSqKoo6Rfx2AvY9MZg0vzNaAjiAQymkaWNijlkka1L0EF1L4NqqdoyAUhW+umYFJ/t8m5eyuo1XhndUMBnwQkIryFDTLeISkF2Cm0fzSb5uXOckWqvFF78IH7FBw/kI4r/7ybpY3M0QM9/uZ03ziYVRbmHlJ0Hz6DCTTWq785AX4INBZBOYE6QOQaoFFRX/vfNK0aEJys3A8d1DBNs21i0EJcylXTDCZcs/B4n8KhEujPFAIxHral3esrG5wHYTYxBcVlSvRzZW0VTxQdhCImMsl46dg6z6+XplpY9yMA47L4ou4GM8W6ohKudV6Z9ZxjnK3r+ejO68A4lBl2ecDLl1Z6q8wHY0AEg8SpRCUR6DCZ6K0RGtTpytrcO+aA35u9QORnyO7eUklbGrdq+YLKtsQQdbbIQx6xSHWTN1yQ54ThmrElRwU1Yx82/3CL Content-ID: MIME-Version: 1.0 X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-AuthSource: BY5PR11MB3927.namprd11.prod.outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: 6f6bff8b-a442-4d10-090b-08d81c2e311b X-MS-Exchange-CrossTenant-originalarrivaltime: 29 Jun 2020 13:13:18.8795 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: 3f4057f3-b418-4d4e-ba84-d55b4e897d88 X-MS-Exchange-CrossTenant-mailboxtype: HOSTED X-MS-Exchange-CrossTenant-userprincipalname: 1SXq7NNDXRJrHJ5/PXNc2l9oD9P1ufTH3Yi+9PzXbgBBZGOmLZOibfJKb8SClhiNNANaPKSfg/fDmsmBgMUNkKlRLKA8kG1plg90a1ZgBZ8= X-MS-Exchange-Transport-CrossTenantHeadersStamped: BY5PR11MB4434 Sender: netdev-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: netdev@vger.kernel.org Since the PHY framework is used anyway, replace the rest of the calls to the MII library, including those from the USB Network driver infrastructure, by the calls to the PHY framework. Signed-off-by: Andre Edich --- drivers/net/usb/smsc95xx.c | 92 +++++++++++++++----------------------- 1 file changed, 36 insertions(+), 56 deletions(-) u32 chip_id; u32 mac_cr; @@ -173,10 +176,9 @@ static int __must_check __smsc95xx_phy_wait_not_busy(struct usbnet *dev, return -EIO; } -static int __smsc95xx_mdio_read(struct net_device *netdev, int phy_id, int idx, +static int __smsc95xx_mdio_read(struct usbnet *dev, int phy_id, int idx, int in_pm) { - struct usbnet *dev = netdev_priv(netdev); u32 val, addr; int ret; @@ -190,8 +192,8 @@ static int __smsc95xx_mdio_read(struct net_device *netdev, int phy_id, int idx, } /* set the address, index & direction (read from PHY) */ - phy_id &= dev->mii.phy_id_mask; - idx &= dev->mii.reg_num_mask; + phy_id &= PHY_ID_MASK; + idx &= REG_NUM_MASK; addr = (phy_id << 11) | (idx << 6) | MII_READ_ | MII_BUSY_; ret = __smsc95xx_write_reg(dev, MII_ADDR, addr, in_pm); if (ret < 0) { @@ -218,10 +220,9 @@ static int __smsc95xx_mdio_read(struct net_device *netdev, int phy_id, int idx, return ret; } -static void __smsc95xx_mdio_write(struct net_device *netdev, int phy_id, +static void __smsc95xx_mdio_write(struct usbnet *dev, int phy_id, int idx, int regval, int in_pm) { - struct usbnet *dev = netdev_priv(netdev); u32 val, addr; int ret; @@ -242,8 +243,8 @@ static void __smsc95xx_mdio_write(struct net_device *netdev, int phy_id, } /* set the address, index & direction (write to PHY) */ - phy_id &= dev->mii.phy_id_mask; - idx &= dev->mii.reg_num_mask; + phy_id &= PHY_ID_MASK; + idx &= REG_NUM_MASK; addr = (phy_id << 11) | (idx << 6) | MII_WRITE_ | MII_BUSY_; ret = __smsc95xx_write_reg(dev, MII_ADDR, addr, in_pm); if (ret < 0) { @@ -263,34 +264,23 @@ static void __smsc95xx_mdio_write(struct net_device *netdev, int phy_id, static int smsc95xx_mdio_read_nopm(struct usbnet *dev, int idx) { - struct mii_if_info *mii = &dev->mii; + struct smsc95xx_priv *pdata = dev->driver_priv; - return __smsc95xx_mdio_read(dev->net, mii->phy_id, idx, 1); + return __smsc95xx_mdio_read(dev, pdata->phydev->mdio.addr, idx, 1); } static void smsc95xx_mdio_write_nopm(struct usbnet *dev, int idx, int regval) { - struct mii_if_info *mii = &dev->mii; - - __smsc95xx_mdio_write(dev->net, mii->phy_id, idx, regval, 1); -} - -static int smsc95xx_mdio_read(struct net_device *netdev, int phy_id, int idx) -{ - return __smsc95xx_mdio_read(netdev, phy_id, idx, 0); -} + struct smsc95xx_priv *pdata = dev->driver_priv; -static void smsc95xx_mdio_write(struct net_device *netdev, int phy_id, int idx, - int regval) -{ - __smsc95xx_mdio_write(netdev, phy_id, idx, regval, 0); + __smsc95xx_mdio_write(dev, pdata->phydev->mdio.addr, idx, regval, 1); } static int smsc95xx_mdiobus_read(struct mii_bus *bus, int phy_id, int idx) { struct usbnet *dev = bus->priv; - return __smsc95xx_mdio_read(dev->net, phy_id, idx, 0); + return __smsc95xx_mdio_read(dev, phy_id, idx, 0); } static int smsc95xx_mdiobus_write(struct mii_bus *bus, int phy_id, int idx, @@ -298,7 +288,7 @@ static int smsc95xx_mdiobus_write(struct mii_bus *bus, int phy_id, int idx, { struct usbnet *dev = bus->priv; - __smsc95xx_mdio_write(dev->net, phy_id, idx, regval, 0); + __smsc95xx_mdio_write(dev, phy_id, idx, regval, 0); return 0; } @@ -569,8 +559,7 @@ static int smsc95xx_phy_update_flowcontrol(struct usbnet *dev, u8 duplex, static int smsc95xx_link_reset(struct usbnet *dev) { struct smsc95xx_priv *pdata = (struct smsc95xx_priv *)(dev- >data[0]); - struct mii_if_info *mii = &dev->mii; - struct ethtool_cmd ecmd = { .cmd = ETHTOOL_GSET }; + struct ethtool_link_ksettings cmd; unsigned long flags; u16 lcladv, rmtadv; int ret; @@ -584,17 +573,16 @@ static int smsc95xx_link_reset(struct usbnet *dev) if (ret < 0) return ret; - mii_check_media(mii, 1, 1); - mii_ethtool_gset(&dev->mii, &ecmd); + phy_ethtool_ksettings_get(pdata->phydev, &cmd); lcladv = phy_read(pdata->phydev, MII_ADVERTISE); rmtadv = phy_read(pdata->phydev, MII_LPA); netif_dbg(dev, link, dev->net, "speed: %u duplex: %d lcladv: %04x rmtadv: %04x\n", - ethtool_cmd_speed(&ecmd), ecmd.duplex, lcladv, rmtadv); + cmd.base.speed, cmd.base.duplex, lcladv, rmtadv); spin_lock_irqsave(&pdata->mac_cr_lock, flags); - if (ecmd.duplex != DUPLEX_FULL) { + if (cmd.base.duplex != DUPLEX_FULL) { pdata->mac_cr &= ~MAC_CR_FDPX_; pdata->mac_cr |= MAC_CR_RCVOWN_; } else { @@ -607,7 +595,8 @@ static int smsc95xx_link_reset(struct usbnet *dev) if (ret < 0) return ret; - ret = smsc95xx_phy_update_flowcontrol(dev, ecmd.duplex, lcladv, rmtadv); + ret = smsc95xx_phy_update_flowcontrol(dev, cmd.base.duplex, lcladv, + rmtadv); if (ret < 0) netdev_warn(dev->net, "Error updating PHY flow control\n"); @@ -780,6 +769,9 @@ static void set_mdix_status(struct net_device *net, __u8 mdix_ctrl) struct smsc95xx_priv *pdata = (struct smsc95xx_priv *)(dev- >data[0]); int buf; + if (pdata->mdix_ctrl == mdix_ctrl) + return; + if ((pdata->chip_id == ID_REV_CHIP_ID_9500A_) || (pdata->chip_id == ID_REV_CHIP_ID_9530_) || (pdata->chip_id == ID_REV_CHIP_ID_89530_) || @@ -821,7 +813,7 @@ static int smsc95xx_get_link_ksettings(struct net_device *net, struct smsc95xx_priv *pdata = (struct smsc95xx_priv *)(dev- >data[0]); int retval; - retval = usbnet_get_link_ksettings(net, cmd); + retval = phy_ethtool_get_link_ksettings(net, cmd); cmd->base.eth_tp_mdix = pdata->mdix_ctrl; cmd->base.eth_tp_mdix_ctrl = pdata->mdix_ctrl; @@ -832,21 +824,19 @@ static int smsc95xx_get_link_ksettings(struct net_device *net, static int smsc95xx_set_link_ksettings(struct net_device *net, const struct ethtool_link_ksettings *cmd) { - struct usbnet *dev = netdev_priv(net); - struct smsc95xx_priv *pdata = (struct smsc95xx_priv *)(dev- >data[0]); - int retval; - - if (pdata->mdix_ctrl != cmd->base.eth_tp_mdix_ctrl) - set_mdix_status(net, cmd->base.eth_tp_mdix_ctrl); - - retval = usbnet_set_link_ksettings(net, cmd); + set_mdix_status(net, cmd->base.eth_tp_mdix_ctrl); + return phy_ethtool_set_link_ksettings(net, cmd); +} - return retval; +static u32 smsc95xx_get_link(struct net_device *net) +{ + phy_read_status(net->phydev); + return net->phydev->link; } static const struct ethtool_ops smsc95xx_ethtool_ops = { - .get_link = usbnet_get_link, - .nway_reset = usbnet_nway_reset, + .get_link = smsc95xx_get_link, + .nway_reset = phy_ethtool_nway_reset, .get_drvinfo = usbnet_get_drvinfo, .get_msglevel = usbnet_get_msglevel, .set_msglevel = usbnet_set_msglevel, @@ -864,12 +854,10 @@ static const struct ethtool_ops smsc95xx_ethtool_ops = { static int smsc95xx_ioctl(struct net_device *netdev, struct ifreq *rq, int cmd) { - struct usbnet *dev = netdev_priv(netdev); - if (!netif_running(netdev)) return -EINVAL; - return generic_mii_ioctl(&dev->mii, if_mii(rq), cmd, NULL); + return phy_mii_ioctl(netdev->phydev, rq, cmd); } static void smsc95xx_init_mac_address(struct usbnet *dev) @@ -1179,7 +1167,7 @@ static int smsc95xx_start_phy(struct usbnet *dev) phy_attached_info(net->phydev); phy_start(net->phydev); - mii_nway_restart(&dev->mii); + phy_start_aneg(net->phydev); return 0; } @@ -1268,9 +1256,6 @@ static int smsc95xx_bind(struct usbnet *dev, struct usb_interface *intf) pdata->mdiobus->write = smsc95xx_mdiobus_write; pdata->mdiobus->name = "smsc95xx-mdiobus"; - dev->mii.phy_id_mask = 0x1f; - dev->mii.reg_num_mask = 0x1f; - snprintf(pdata->mdiobus->id, ARRAY_SIZE(pdata->mdiobus->id), "usb-%03d:%03d", dev->udev->bus->busnum, dev->udev- >devnum); @@ -1287,11 +1272,6 @@ static int smsc95xx_bind(struct usbnet *dev, struct usb_interface *intf) goto unregister_mdio; } - dev->mii.dev = dev->net; - dev->mii.mdio_read = smsc95xx_mdio_read; - dev->mii.mdio_write = smsc95xx_mdio_write; - dev->mii.phy_id = pdata->phydev->mdio.addr; - /* detect device revision as different features may be available */ ret = smsc95xx_read_reg(dev, ID_REV, &val); if (ret < 0) diff --git a/drivers/net/usb/smsc95xx.c b/drivers/net/usb/smsc95xx.c index bcdd7e726f5b..06fcc2518305 100644 --- a/drivers/net/usb/smsc95xx.c +++ b/drivers/net/usb/smsc95xx.c @@ -51,6 +51,9 @@ #define SUSPEND_ALLMODES (SUSPEND_SUSPEND0 | SUSPEND_SUSPEND1 | \ SUSPEND_SUSPEND2 | SUSPEND_SUSPEND3) +#define PHY_ID_MASK 0x1f +#define REG_NUM_MASK 0x1f + struct smsc95xx_priv { From patchwork Mon Jun 29 13:13:44 2020 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Andre Edich X-Patchwork-Id: 216919 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-4.2 required=3.0 tests=DKIM_SIGNED,DKIM_VALID, HEADER_FROM_DIFFERENT_DOMAINS, INCLUDES_PATCH, MAILING_LIST_MULTI, SIGNED_OFF_BY, SPF_HELO_NONE, SPF_PASS, UNWANTED_LANGUAGE_BODY, URIBL_BLOCKED autolearn=ham autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id 526D0C433E0 for ; Mon, 29 Jun 2020 19:32:40 +0000 (UTC) Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by mail.kernel.org (Postfix) with ESMTP id 2BBD62072D for ; Mon, 29 Jun 2020 19:32:40 +0000 (UTC) Authentication-Results: mail.kernel.org; dkim=fail reason="signature verification failed" (2048-bit key) header.d=microchip.com header.i=@microchip.com header.b="LwqiYTJf"; dkim=pass (1024-bit key) header.d=microchiptechnology.onmicrosoft.com header.i=@microchiptechnology.onmicrosoft.com header.b="cM46dfaQ" Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1733154AbgF2Tci (ORCPT ); Mon, 29 Jun 2020 15:32:38 -0400 Received: from esa4.microchip.iphmx.com ([68.232.154.123]:52992 "EHLO esa4.microchip.iphmx.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1733203AbgF2Tc2 (ORCPT ); Mon, 29 Jun 2020 15:32:28 -0400 DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple; d=microchip.com; i=@microchip.com; q=dns/txt; s=mchp; t=1593459147; x=1624995147; h=from:to:cc:subject:date:message-id:content-id: content-transfer-encoding:mime-version; bh=SzBLcgs+1p2Hz0iEpqyOPX09S3kEDr1v/1gMBfPkxiI=; b=LwqiYTJfGgalrz1ussISuCuvvSN+87quNuNAwi6qNrI9MAAfH9ooNZP8 pF+qcIxYU23BdnKIk/M7+lanaZpACwjDPUgDtUavXJR8uIA4Fh0Sez0Lm +Qz/JL66uIZOTIK0BsLnkW0u9ngRw3d+jtLolBH+7lsXsqd2x87Hfirao tGR3+xK4coj4abu+l2DNtPfW/GNKNrp4ulJ571Sclf5KZpumG1jJbnyFz tPq+LTcEm6UKv14pII3tPj5gDu8VzDsaSKpEr5ScTR+cod1fBqMw2EhnK H4NETiOw6Q1SnSklT5rucVqQRWnAx5SQ3tyTcOM/CRZlKb7nnAjFv6bkh g==; IronPort-SDR: Vrx+fx9+F4tlUS0lzTouFftccBFQocgXxE3oB9TF9rYSWrQ5telijtThDEnTCV5CFHhnshGvDq JUsarnlua0WxEYm0hUFEf7W0LkEL6hAyKfkbFc1WLFr+DDfiqHkbkcKOCBvE3D4rsd4vFM3XvW CFt1YU7mlE8TDe2KQl+CTtisugg7kHf9cdciel/sHtvT+yM2lPfrhj9+ff5UE9QdL/dFSTXYrG oDt2zcc6rTn1UQanw+G9avgY2RPyAPAIZXk26pas6w0CZ3yFvARuaVB8c4fCFjprEYcWDMsCxA R7g= X-IronPort-AV: E=Sophos;i="5.75,294,1589266800"; d="scan'208";a="78142155" Received: from smtpout.microchip.com (HELO email.microchip.com) ([198.175.253.82]) by esa4.microchip.iphmx.com with ESMTP/TLS/AES256-SHA256; 29 Jun 2020 06:13:46 -0700 Received: from chn-vm-ex01.mchp-main.com (10.10.85.143) by chn-vm-ex04.mchp-main.com (10.10.85.152) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.1979.3; Mon, 29 Jun 2020 06:13:46 -0700 Received: from NAM12-BN8-obe.outbound.protection.outlook.com (10.10.215.89) by email.microchip.com (10.10.87.71) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.1979.3 via Frontend Transport; Mon, 29 Jun 2020 06:13:29 -0700 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=DGYBg4kyAD5a2unUgk5AqGEzHp7gNNnoQwL8GshLQhkU10vTfivFKXWQ5g3G1NybUhmBA8ZTaU/UhrO0qXNC51f21DMfCkizqFME9W3quaGN16vjlKxC1DXtnTepPekSU4Sib2G8s6s1NlEKolP5WItGJAy5n76smoiPv9lGf0fIDGSSj0gX9QlFVad4/kV+NynPlw7KBs0sQWl/kLTzE0fb5nmiBOwNZNXnZ2vMim1r+ClXP8t4QzfjnJ43TrkCT8rz+9MDx4JjbdwJ8hbLAECgRC5xLWaGQVlWQo8Nx9eidldweZO6ksuL1eS3FKDQ8J9qcJ0N5E6QmWU1uOaMhQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=SzBLcgs+1p2Hz0iEpqyOPX09S3kEDr1v/1gMBfPkxiI=; b=R4uDZ1g6j4l+ahD4XU0290adi5xASML+3vx85TgR3WM/fc3zJeE/C7J/uhNDW7zVSiYuvX+WUJ3LAqljHYcCJ98YXYjMGdbNvmzo2jqXubgf7SFMpnFdSquic+2CR/sIjbrVuUyI6B3jOPPfbSrEjwmoYyZ+SN/Rj0YnxSELQ/f2g5mdDfwz9R3zCq/xyi/FFCAc5Dl/ThI/aTHNX4bYB2tSsB59wbBVAUz4yI5mOaBadXmTyp9OLqojGG0VFA44R+ikjTUjs1G0M/zDkpsK9cY+gTeYo94aiRJYOvzh10kpuhxP7O6uUk51dy57K437sODGGpdvcm4Ln41dSsjvYw== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=microchip.com; dmarc=pass action=none header.from=microchip.com; dkim=pass header.d=microchip.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=microchiptechnology.onmicrosoft.com; s=selector2-microchiptechnology-onmicrosoft-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=SzBLcgs+1p2Hz0iEpqyOPX09S3kEDr1v/1gMBfPkxiI=; b=cM46dfaQbKAEnUqPMLg1Is+1srdYmZ3WNJJba3jb4dRoJQmvsgsWiD6Qx1FpGujWoRtf10XrIp7iLbHrgM8BDvRn0LvrmpievNkKmWNp2eLJrbcnr4s4DiRiRd7CrplPG0Z2U8MDLPdZQmTBQz8ofMwjVqFIw1+xw/uMni93g0Q= Received: from BY5PR11MB3927.namprd11.prod.outlook.com (2603:10b6:a03:186::21) by BY5PR11MB4434.namprd11.prod.outlook.com (2603:10b6:a03:1c2::19) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.3131.20; Mon, 29 Jun 2020 13:13:44 +0000 Received: from BY5PR11MB3927.namprd11.prod.outlook.com ([fe80::5993:d0ac:9849:d311]) by BY5PR11MB3927.namprd11.prod.outlook.com ([fe80::5993:d0ac:9849:d311%7]) with mapi id 15.20.3131.027; Mon, 29 Jun 2020 13:13:44 +0000 From: To: , , CC: Subject: [PATCH net-next 8/8] smsc95xx: use usbnet->driver_priv Thread-Topic: [PATCH net-next 8/8] smsc95xx: use usbnet->driver_priv Thread-Index: AQHWThcd7UxOiFPhLk64/q2MqybuwQ== Date: Mon, 29 Jun 2020 13:13:44 +0000 Message-ID: <337cd4d2f179130826339cc40491345e1ee84957.camel@microchip.com> Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: user-agent: Evolution 3.36.3 authentication-results: vger.kernel.org; dkim=none (message not signed) header.d=none;vger.kernel.org; dmarc=none action=none header.from=microchip.com; x-originating-ip: [93.202.178.57] x-ms-publictraffictype: Email x-ms-office365-filtering-correlation-id: c65483a5-0ee9-4756-4877-08d81c2e4023 x-ms-traffictypediagnostic: BY5PR11MB4434: x-ms-exchange-transport-forked: True x-microsoft-antispam-prvs: x-bypassexternaltag: True x-ms-oob-tlc-oobclassifiers: OLM:7219; x-forefront-prvs: 044968D9E1 x-ms-exchange-senderadcheck: 1 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: FbZ/1c6H/pcQzKAzCLJ7ryXiTMf9F5IMBuhnb74aR165DxSN/mVjhLCq0I2JtX7T7CE04IOOaAF3IbNCp+EvbXbyv8O9E1n8nrbDvbv/yEhohjagXI4MOjexeuNtwDgwUN6LSnNPTT8EuAzgUd2sJCeJdTEk+ueO/fPF9jW9VbEN/xcz1cpUr+gGGli4CL93L7JfgUGy3GKCz+nPkIz1NHmLquQNy3tAg5bvMNwIqwjacqpbUOADmaQ2ZxSN34EyVyxY7CVGZz7WdvTqxwTHjEVtx11EgDmEx7kYspDwUcTB7UNB5PqWOL7kbh4MLjNk x-forefront-antispam-report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:BY5PR11MB3927.namprd11.prod.outlook.com; PTR:; CAT:NONE; SFTY:; SFS:(396003)(366004)(136003)(39860400002)(346002)(376002)(83380400001)(6512007)(8676002)(8936002)(5660300002)(36756003)(110136005)(4326008)(316002)(2906002)(6486002)(107886003)(66946007)(6506007)(2616005)(76116006)(91956017)(66476007)(66556008)(64756008)(66446008)(186003)(26005)(478600001)(86362001)(71200400001); DIR:OUT; SFP:1101; x-ms-exchange-antispam-messagedata: Vy5jpe+26wOo4sAOJrZcqdlPKtxkb9kfZC0pLG3VCp6K7Vr+rhexj+lpQfegaPmvax5ReYSkmG8pijLr9+I9yEy6hQmSTi2uTJSkMhVWYluVmaeNACk0DH+ke5qoOINmvwstciYuTNJlr3n9P2t2H2AGDhBPltyL3l0o5z6n7yaFtPeYWpg3WEjeDlexCJRd9c5b+zZU2c8I5qoPoWRIlDbl+GdWTHJi75w/O9wqW5QpybZ4sTYrRgRgZgmYcKA1sm3pE+7tp9qOZUz97H92mrhWEuXd3sGQ0R7vbiQb+XpytssMWDv/pFvrf4hhglidB29UxJqcsVo1U+cLh/i3o2L5CKaE7UW3Nn3LXkeZDWEqLtKxPqCb5fGvBjuUDgA7xqtncE6JfnUFbbv+B1QEVtuQwEL0NGld6+JL2pVsKvPDYQJXdt6MH/wNWgML22nEYGDvS113jMgQp89ksf3wywUtaObmqbNMcd5yLous0pH4Cj/sZgxsLIyPUSB27VZO Content-ID: MIME-Version: 1.0 X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-AuthSource: BY5PR11MB3927.namprd11.prod.outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: c65483a5-0ee9-4756-4877-08d81c2e4023 X-MS-Exchange-CrossTenant-originalarrivaltime: 29 Jun 2020 13:13:44.1363 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: 3f4057f3-b418-4d4e-ba84-d55b4e897d88 X-MS-Exchange-CrossTenant-mailboxtype: HOSTED X-MS-Exchange-CrossTenant-userprincipalname: KEBZPq4/VQi5HSKOLia1pxJZ7I+Yo5uNArreiFogKI0aXczt9D1A33b7oJboo28P1iKbj6lcmSZ52UalEQdtHaNRp1UY30UENZ+k49O/WsQ= X-MS-Exchange-Transport-CrossTenantHeadersStamped: BY5PR11MB4434 Sender: netdev-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: netdev@vger.kernel.org Using `void *driver_priv` instead of `unsigned long data[]` is more straightforward way to recover the `struct smsc95xx_priv *` from the `struct net_device *`. Signed-off-by: Andre Edich --- drivers/net/usb/smsc95xx.c | 61 +++++++++++++++++--------------------- 1 file changed, 28 insertions(+), 33 deletions(-) int ret; @@ -558,7 +558,7 @@ static int smsc95xx_phy_update_flowcontrol(struct usbnet *dev, u8 duplex, static int smsc95xx_link_reset(struct usbnet *dev) { - struct smsc95xx_priv *pdata = (struct smsc95xx_priv *)(dev- >data[0]); + struct smsc95xx_priv *pdata = dev->driver_priv; struct ethtool_link_ksettings cmd; unsigned long flags; u16 lcladv, rmtadv; @@ -716,7 +716,7 @@ static void smsc95xx_ethtool_get_wol(struct net_device *net, struct ethtool_wolinfo *wolinfo) { struct usbnet *dev = netdev_priv(net); - struct smsc95xx_priv *pdata = (struct smsc95xx_priv *)(dev- >data[0]); + struct smsc95xx_priv *pdata = dev->driver_priv; wolinfo->supported = SUPPORTED_WAKE; wolinfo->wolopts = pdata->wolopts; @@ -726,7 +726,7 @@ static int smsc95xx_ethtool_set_wol(struct net_device *net, struct ethtool_wolinfo *wolinfo) { struct usbnet *dev = netdev_priv(net); - struct smsc95xx_priv *pdata = (struct smsc95xx_priv *)(dev- >data[0]); + struct smsc95xx_priv *pdata = dev->driver_priv; int ret; if (wolinfo->wolopts & ~SUPPORTED_WAKE) @@ -744,7 +744,7 @@ static int smsc95xx_ethtool_set_wol(struct net_device *net, static int get_mdix_status(struct net_device *net) { struct usbnet *dev = netdev_priv(net); - struct smsc95xx_priv *pdata = (struct smsc95xx_priv *)(dev- >data[0]); + struct smsc95xx_priv *pdata = dev->driver_priv; u32 val; int buf; @@ -766,7 +766,7 @@ static int get_mdix_status(struct net_device *net) static void set_mdix_status(struct net_device *net, __u8 mdix_ctrl) { struct usbnet *dev = netdev_priv(net); - struct smsc95xx_priv *pdata = (struct smsc95xx_priv *)(dev- >data[0]); + struct smsc95xx_priv *pdata = dev->driver_priv; int buf; if (pdata->mdix_ctrl == mdix_ctrl) @@ -810,7 +810,7 @@ static int smsc95xx_get_link_ksettings(struct net_device *net, struct ethtool_link_ksettings *cmd) { struct usbnet *dev = netdev_priv(net); - struct smsc95xx_priv *pdata = (struct smsc95xx_priv *)(dev- >data[0]); + struct smsc95xx_priv *pdata = dev->driver_priv; int retval; retval = phy_ethtool_get_link_ksettings(net, cmd); @@ -903,7 +903,7 @@ static int smsc95xx_set_mac_address(struct usbnet *dev) /* starts the TX path */ static int smsc95xx_start_tx_path(struct usbnet *dev) { - struct smsc95xx_priv *pdata = (struct smsc95xx_priv *)(dev- >data[0]); + struct smsc95xx_priv *pdata = dev->driver_priv; unsigned long flags; int ret; @@ -923,7 +923,7 @@ static int smsc95xx_start_tx_path(struct usbnet *dev) /* Starts the Receive path */ static int smsc95xx_start_rx_path(struct usbnet *dev, int in_pm) { - struct smsc95xx_priv *pdata = (struct smsc95xx_priv *)(dev- >data[0]); + struct smsc95xx_priv *pdata = dev->driver_priv; unsigned long flags; spin_lock_irqsave(&pdata->mac_cr_lock, flags); @@ -935,7 +935,7 @@ static int smsc95xx_start_rx_path(struct usbnet *dev, int in_pm) static int smsc95xx_reset(struct usbnet *dev) { - struct smsc95xx_priv *pdata = (struct smsc95xx_priv *)(dev- >data[0]); + struct smsc95xx_priv *pdata = dev->driver_priv; u32 read_buf, write_buf, burst_cap; int ret = 0, timeout; @@ -1148,7 +1148,7 @@ static void smsc95xx_handle_link_change(struct net_device *net) static int smsc95xx_start_phy(struct usbnet *dev) { - struct smsc95xx_priv *pdata = (struct smsc95xx_priv *)(dev- >data[0]); + struct smsc95xx_priv *pdata = dev->driver_priv; struct net_device *net = dev->net; int ret; @@ -1194,7 +1194,7 @@ static const struct net_device_ops smsc95xx_netdev_ops = { static int smsc95xx_bind(struct usbnet *dev, struct usb_interface *intf) { - struct smsc95xx_priv *pdata = NULL; + struct smsc95xx_priv *pdata; u32 val; int ret; @@ -1206,13 +1206,12 @@ static int smsc95xx_bind(struct usbnet *dev, struct usb_interface *intf) return ret; } - dev->data[0] = (unsigned long)kzalloc(sizeof(struct smsc95xx_priv), - GFP_KERNEL); - - pdata = (struct smsc95xx_priv *)(dev->data[0]); + pdata = kzalloc(sizeof(*pdata), GFP_KERNEL); if (!pdata) return -ENOMEM; + dev->driver_priv = pdata; + spin_lock_init(&pdata->mac_cr_lock); /* LAN95xx devices do not alter the computed checksum of 0 to 0xffff. @@ -1311,16 +1310,12 @@ static int smsc95xx_bind(struct usbnet *dev, struct usb_interface *intf) static void smsc95xx_unbind(struct usbnet *dev, struct usb_interface *intf) { - struct smsc95xx_priv *pdata = (struct smsc95xx_priv *)(dev- >data[0]); + struct smsc95xx_priv *pdata = dev->driver_priv; - if (pdata) { - mdiobus_unregister(pdata->mdiobus); - mdiobus_free(pdata->mdiobus); - netif_dbg(dev, ifdown, dev->net, "free pdata\n"); - kfree(pdata); - pdata = NULL; - dev->data[0] = 0; - } + mdiobus_unregister(pdata->mdiobus); + mdiobus_free(pdata->mdiobus); + netif_dbg(dev, ifdown, dev->net, "free pdata\n"); + kfree(pdata); } static u32 smsc_crc(const u8 *buffer, size_t len, int filter) @@ -1370,7 +1365,7 @@ static int smsc95xx_link_ok_nopm(struct usbnet *dev) static int smsc95xx_enter_suspend0(struct usbnet *dev) { - struct smsc95xx_priv *pdata = (struct smsc95xx_priv *)(dev- >data[0]); + struct smsc95xx_priv *pdata = dev->driver_priv; u32 val; int ret; @@ -1409,7 +1404,7 @@ static int smsc95xx_enter_suspend0(struct usbnet *dev) static int smsc95xx_enter_suspend1(struct usbnet *dev) { - struct smsc95xx_priv *pdata = (struct smsc95xx_priv *)(dev- >data[0]); + struct smsc95xx_priv *pdata = dev->driver_priv; u32 val; int ret; @@ -1456,7 +1451,7 @@ static int smsc95xx_enter_suspend1(struct usbnet *dev) static int smsc95xx_enter_suspend2(struct usbnet *dev) { - struct smsc95xx_priv *pdata = (struct smsc95xx_priv *)(dev- >data[0]); + struct smsc95xx_priv *pdata = dev->driver_priv; u32 val; int ret; @@ -1478,7 +1473,7 @@ static int smsc95xx_enter_suspend2(struct usbnet *dev) static int smsc95xx_enter_suspend3(struct usbnet *dev) { - struct smsc95xx_priv *pdata = (struct smsc95xx_priv *)(dev- >data[0]); + struct smsc95xx_priv *pdata = dev->driver_priv; u32 val; int ret; @@ -1517,7 +1512,7 @@ static int smsc95xx_enter_suspend3(struct usbnet *dev) static int smsc95xx_autosuspend(struct usbnet *dev, u32 link_up) { - struct smsc95xx_priv *pdata = (struct smsc95xx_priv *)(dev- >data[0]); + struct smsc95xx_priv *pdata = dev->driver_priv; int ret; if (!netif_running(dev->net)) { @@ -1565,7 +1560,7 @@ static int smsc95xx_autosuspend(struct usbnet *dev, u32 link_up) static int smsc95xx_suspend(struct usb_interface *intf, pm_message_t message) { struct usbnet *dev = usb_get_intfdata(intf); - struct smsc95xx_priv *pdata = (struct smsc95xx_priv *)(dev- >data[0]); + struct smsc95xx_priv *pdata = dev->driver_priv; u32 val, link_up; int ret; @@ -1830,7 +1825,7 @@ static int smsc95xx_resume(struct usb_interface *intf) u32 val; BUG_ON(!dev); - pdata = (struct smsc95xx_priv *)(dev->data[0]); + pdata = dev->driver_priv; suspend_flags = pdata->suspend_flags; netdev_dbg(dev->net, "resume suspend_flags=0x%02x\n", suspend_flags); @@ -2050,7 +2045,7 @@ static struct sk_buff *smsc95xx_tx_fixup(struct usbnet *dev, static int smsc95xx_manage_power(struct usbnet *dev, int on) { - struct smsc95xx_priv *pdata = (struct smsc95xx_priv *)(dev- >data[0]); + struct smsc95xx_priv *pdata = dev->driver_priv; dev->intf->needs_remote_wakeup = on; diff --git a/drivers/net/usb/smsc95xx.c b/drivers/net/usb/smsc95xx.c index 06fcc2518305..76d03652477d 100644 --- a/drivers/net/usb/smsc95xx.c +++ b/drivers/net/usb/smsc95xx.c @@ -463,7 +463,7 @@ static unsigned int smsc95xx_hash(char addr[ETH_ALEN]) static void smsc95xx_set_multicast(struct net_device *netdev) { struct usbnet *dev = netdev_priv(netdev); - struct smsc95xx_priv *pdata = (struct smsc95xx_priv *)(dev- >data[0]); + struct smsc95xx_priv *pdata = dev->driver_priv; unsigned long flags;