From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1752279AbcFBBuQ (ORCPT ); Wed, 1 Jun 2016 21:50:16 -0400 Received: from plane.gmane.org ([80.91.229.3]:41722 "EHLO plane.gmane.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1750931AbcFBBuO (ORCPT ); Wed, 1 Jun 2016 21:50:14 -0400 X-Injected-Via-Gmane: http://gmane.org/ To: linux-kernel@vger.kernel.org From: Grant Grundler Subject: Re: [PATCH net-next 2/3] r8152: modify =?utf-8?b?cnRsX29wc19pbml0?= Date: Thu, 2 Jun 2016 01:47:48 +0000 (UTC) Message-ID: References: <1394712342-15778-84-Taiwan-albertk@realtek.com> <1394712342-15778-86-Taiwan-albertk@realtek.com> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: 7bit X-Complaints-To: usenet@ger.gmane.org X-Gmane-NNTP-Posting-Host: sea.gmane.org User-Agent: Loom/3.14 (http://gmane.org/) X-Loom-IP: 104.132.0.81 (Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/51.0.2704.63 Safari/537.36) Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Hayes Wang realtek.com> writes: > Replace using VID/PID with using tp->version to initialize the ops. Hayes, This patch breaks new HW with existing drivers. more below. > > Signed-off-by: Hayes Wang realtek.com> > --- > drivers/net/usb/r8152.c | 79 ++++++++++++++++++-------------------------- ----- > 1 file changed, 28 insertions(+), 51 deletions(-) > > diff --git a/drivers/net/usb/r8152.c b/drivers/net/usb/r8152.c > index 4b6db8a..cf1b8a7 100644 > --- a/drivers/net/usb/r8152.c > +++ b/drivers/net/usb/r8152.c > -3742,66 +3742,43 static void rtl8153_unload(struct r8152 *tp) > r8153_power_cut_en(tp, false); > } > > -static int rtl_ops_init(struct r8152 *tp, const struct usb_device_id *id) > +static int rtl_ops_init(struct r8152 *tp) > { > struct rtl_ops *ops = &tp->rtl_ops; > - int ret = -ENODEV; > - > - switch (id->idVendor) { > - case VENDOR_ID_REALTEK: > - switch (id->idProduct) { ... > default: > + ret = -ENODEV; > + netif_err(tp, probe, tp->netdev, "Unknown Device\n"); This hunk causes r8152 driver to refuse to bind to a device that was working (AFAICT) before this change. This means every new version of the HW requires a driver update for every kernel in every distribution that incorporates this patch. I've tried to "align" chromeos-3.18 branch with kernel.org r8152 driver: I'm getting this output in dmesg: r8152 2-1:1.0 (unnamed net_device) (uninitialized): Unknown version 0x6010 r8152 2-1:1.0 (unnamed net_device) (uninitialized): Unknown Device Could you take a look at the hack I've uploaded for chromeos-3.18 kernel: https://chromium-review.googlesource.com/348951 cheers, grant