[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <a13b06db9383446d8e5eea460c274ee4@ausx13mpc124.AMER.DELL.COM>
Date: Fri, 3 Jun 2016 15:08:14 +0000
From: <Mario_Limonciello@...l.com>
To: <hayeswang@...ltek.com>
CC: <linux-kernel@...r.kernel.org>, <netdev@...r.kernel.org>,
<linux-usb@...r.kernel.org>, <pali.rohar@...il.com>,
<anthony.wong@...onical.com>, <gregkh@...uxfoundation.org>
Subject: RE: [PATCH v2] r8152: Add support for setting MAC to system's
Auxiliary MAC address
> -----Original Message-----
> From: Hayes Wang [mailto:hayeswang@...ltek.com]
> Sent: Friday, June 3, 2016 4:44 AM
> To: Limonciello, Mario <Mario_Limonciello@...l.com>
> Cc: LKML <linux-kernel@...r.kernel.org>; Netdev
> <netdev@...r.kernel.org>; Linux USB <linux-usb@...r.kernel.org>;
> pali.rohar@...il.com; anthony.wong@...onical.com; Greg KH
> <gregkh@...uxfoundation.org>
> Subject: RE: [PATCH v2] r8152: Add support for setting MAC to system's
> Auxiliary MAC address
>
> Mario Limonciello [mailto:mario_limonciello@...l.com]
> > Sent: Friday, June 03, 2016 12:58 AM
> [...]
> > @@ -500,6 +502,7 @@ enum rtl8152_flags {
> > SELECTIVE_SUSPEND,
> > PHY_RESET,
> > SCHEDULE_NAPI,
> > + MAC_PASSTHRU = 0,
>
> I don't think you have to give this a value.
>
> > };
> >
> [...]
> > static int set_ethernet_addr(struct r8152 *tp)
> > {
> > struct net_device *dev = tp->netdev;
> > @@ -1041,6 +1088,10 @@ static int set_ethernet_addr(struct r8152 *tp)
> > else
> > ret = pla_ocp_read(tp, PLA_BACKUP, 8, sa.sa_data);
> >
> > + /* if system provides auxiliary MAC address */
> > + if (get_auxiliary_addr(tp, &sa))
> > + ret = 0;
>
> It still has problem when tp->version == RTL_VER_01.
> First, you would read the current MAC address (MAC1) to sa.sa_data.
> Then sa.sa_data may be modified by MAC2 after get_auxiliary_addr().
> However, the MAC2 wouldn't be set to the device, because
>
> if (tp->version == RTL_VER_01)
> ether_addr_copy(dev->dev_addr, sa.sa_data);
>
> Therefore, you would find that dev_addr is MAC2, and the device
> uses MAC1.
>
> Best Regards,
> Hayes
>
Hayes,
>From the information that I got that this is only a valid thing to do on
RTL-8153-AD (when dock bit set), should this only match with
tp->version >= RTL_VER_03?
How can I confirm that the chip is 8153-AD specifically? I didn't see
something obvious in driver to tell this.
Thanks,
Powered by blists - more mailing lists