diff mbox series

r8152: Refresh MAC address during USBDEVFS_RESET

Message ID 1553523143-23072-1-git-send-email-mario.limonciello@dell.com
State Changes Requested
Delegated to: David Miller
Headers show
Series r8152: Refresh MAC address during USBDEVFS_RESET | expand

Commit Message

Limonciello, Mario March 25, 2019, 2:12 p.m. UTC
On some platforms it is possible to dynamically change the policy
of what MAC address is selected from the ASL at runtime.

These tools will reset the USB device and expect the change to be
made immediately.

Signed-off-by: Mario Limonciello <mario.limonciello@dell.com>
---
 drivers/net/usb/r8152.c | 3 +++
 1 file changed, 3 insertions(+)

Comments

Simon Glass March 25, 2019, 6:02 p.m. UTC | #1
On Mon, 25 Mar 2019 at 08:12, Mario Limonciello
<mario.limonciello@dell.com> wrote:
>
> On some platforms it is possible to dynamically change the policy
> of what MAC address is selected from the ASL at runtime.
>
> These tools will reset the USB device and expect the change to be
> made immediately.
>
> Signed-off-by: Mario Limonciello <mario.limonciello@dell.com>
> ---
>  drivers/net/usb/r8152.c | 3 +++
>  1 file changed, 3 insertions(+)

Reviewed-by: Simon Glass <sjg@chromium.org>
David Miller March 26, 2019, 6:50 p.m. UTC | #2
From: Mario Limonciello <mario.limonciello@dell.com>
Date: Mon, 25 Mar 2019 09:12:23 -0500

> On some platforms it is possible to dynamically change the policy
> of what MAC address is selected from the ASL at runtime.
> 
> These tools will reset the USB device and expect the change to be
> made immediately.
> 
> Signed-off-by: Mario Limonciello <mario.limonciello@dell.com>

You are going to have to emit CHANGEADDR notifications and such if
necessary when you do this.
Limonciello, Mario March 26, 2019, 7:52 p.m. UTC | #3
> -----Original Message-----
> From: David Miller <davem@davemloft.net>
> Sent: Tuesday, March 26, 2019 1:51 PM
> To: Limonciello, Mario
> Cc: linux-usb@vger.kernel.org; netdev@vger.kernel.org; linux-
> kernel@vger.kernel.org; hayeswang@realtek.com; sjg@google.com;
> campello@google.com; Hong, Ryan; Wang, Crag
> Subject: Re: [PATCH] r8152: Refresh MAC address during USBDEVFS_RESET
> 
> 
> [EXTERNAL EMAIL]
> 
> From: Mario Limonciello <mario.limonciello@dell.com>
> Date: Mon, 25 Mar 2019 09:12:23 -0500
> 
> > On some platforms it is possible to dynamically change the policy
> > of what MAC address is selected from the ASL at runtime.
> >
> > These tools will reset the USB device and expect the change to be
> > made immediately.
> >
> > Signed-off-by: Mario Limonciello <mario.limonciello@dell.com>
> 
> You are going to have to emit CHANGEADDR notifications and such if
> necessary when you do this.

Thanks for the feedback, I'll add that call.  Do you feel a need that the MAC
address needs to be tracked and compared to what was previously in ACPI
table to know it "really" changed or just emit CHANGEADDR because it "might"
have changed?
David Miller March 26, 2019, 8:23 p.m. UTC | #4
From: <Mario.Limonciello@dell.com>
Date: Tue, 26 Mar 2019 19:52:50 +0000

>> -----Original Message-----
>> From: David Miller <davem@davemloft.net>
>> Sent: Tuesday, March 26, 2019 1:51 PM
>> To: Limonciello, Mario
>> Cc: linux-usb@vger.kernel.org; netdev@vger.kernel.org; linux-
>> kernel@vger.kernel.org; hayeswang@realtek.com; sjg@google.com;
>> campello@google.com; Hong, Ryan; Wang, Crag
>> Subject: Re: [PATCH] r8152: Refresh MAC address during USBDEVFS_RESET
>> 
>> 
>> [EXTERNAL EMAIL]
>> 
>> From: Mario Limonciello <mario.limonciello@dell.com>
>> Date: Mon, 25 Mar 2019 09:12:23 -0500
>> 
>> > On some platforms it is possible to dynamically change the policy
>> > of what MAC address is selected from the ASL at runtime.
>> >
>> > These tools will reset the USB device and expect the change to be
>> > made immediately.
>> >
>> > Signed-off-by: Mario Limonciello <mario.limonciello@dell.com>
>> 
>> You are going to have to emit CHANGEADDR notifications and such if
>> necessary when you do this.
> 
> Thanks for the feedback, I'll add that call.  Do you feel a need that the MAC
> address needs to be tracked and compared to what was previously in ACPI
> table to know it "really" changed or just emit CHANGEADDR because it "might"
> have changed?

Probably it is better for apps to track it.

You can consider using dev_set_mac_address(), I wouldn't advise cooking your
own copy of the event emission code.
diff mbox series

Patch

diff --git a/drivers/net/usb/r8152.c b/drivers/net/usb/r8152.c
index 86c8c64..eb5351b 100644
--- a/drivers/net/usb/r8152.c
+++ b/drivers/net/usb/r8152.c
@@ -4268,6 +4268,9 @@  static int rtl8152_post_reset(struct usb_interface *intf)
 	if (!tp)
 		return 0;
 
+	/* reset the MAC adddress in case of policy change */
+	set_ethernet_addr(tp);
+
 	netdev = tp->netdev;
 	if (!netif_running(netdev))
 		return 0;