netdev.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH 1/2] asix: fix setting custom MAC address on Asix 88772 devices
@ 2012-01-10 16:40 Jussi Kivilinna
  2012-01-10 16:40 ` [PATCH 2/2] asix: fix setting custom MAC address on Asix 88178 devices Jussi Kivilinna
  2012-01-10 23:00 ` [PATCH 1/2] asix: fix setting custom MAC address on Asix 88772 devices David Miller
  0 siblings, 2 replies; 6+ messages in thread
From: Jussi Kivilinna @ 2012-01-10 16:40 UTC (permalink / raw)
  To: netdev; +Cc: Grant Grundler, Allan Chou, David S. Miller

In kernel v3.2 initialization sequence for Asix 88772 devices was changed so
that hardware is reseted on every time interface is brought up (ifconfig up),
instead just at USB probe time. This causes problem with setting custom MAC
address to device as ax88772_reset causes reload of MAC address from EEPROM.

This patch fixes the issue by rewriting MAC address at end of ax88772_reset.

Signed-off-by: Jussi Kivilinna <jussi.kivilinna@mbnet.fi>
Acked-by: Grant Grundler <grundler@chromium.org>
Cc: Allan Chou <allan@asix.com.tw>
Cc: stable <stable@vger.kernel.org>
---
 drivers/net/usb/asix.c |    8 ++++++++
 1 files changed, 8 insertions(+), 0 deletions(-)

diff --git a/drivers/net/usb/asix.c b/drivers/net/usb/asix.c
index e95f0e6..eb6b4c1 100644
--- a/drivers/net/usb/asix.c
+++ b/drivers/net/usb/asix.c
@@ -974,6 +974,7 @@ static int ax88772_link_reset(struct usbnet *dev)
 
 static int ax88772_reset(struct usbnet *dev)
 {
+	struct asix_data *data = (struct asix_data *)&dev->data;
 	int ret, embd_phy;
 	u16 rx_ctl;
 
@@ -1051,6 +1052,13 @@ static int ax88772_reset(struct usbnet *dev)
 		goto out;
 	}
 
+	/* Rewrite MAC address */
+	memcpy(data->mac_addr, dev->net->dev_addr, ETH_ALEN);
+	ret = asix_write_cmd(dev, AX_CMD_WRITE_NODE_ID, 0, 0, ETH_ALEN,
+							data->mac_addr);
+	if (ret < 0)
+		goto out;
+
 	/* Set RX_CTL to default values with 2k buffer, and enable cactus */
 	ret = asix_write_rx_ctl(dev, AX_DEFAULT_RX_CTL);
 	if (ret < 0)

^ permalink raw reply related	[flat|nested] 6+ messages in thread

* [PATCH 2/2] asix: fix setting custom MAC address on Asix 88178 devices
  2012-01-10 16:40 [PATCH 1/2] asix: fix setting custom MAC address on Asix 88772 devices Jussi Kivilinna
@ 2012-01-10 16:40 ` Jussi Kivilinna
  2012-01-10 18:43   ` Grant Grundler
  2012-01-10 23:00   ` David Miller
  2012-01-10 23:00 ` [PATCH 1/2] asix: fix setting custom MAC address on Asix 88772 devices David Miller
  1 sibling, 2 replies; 6+ messages in thread
From: Jussi Kivilinna @ 2012-01-10 16:40 UTC (permalink / raw)
  To: netdev; +Cc: Grant Grundler, Allan Chou, David S. Miller

(Note: only compile tested, I don't have 88178 device to confirm that this
patch works. Please, test.)

---

In kernel v3.2 initialization sequence for Asix 88178 devices was changed so
that hardware is reseted on every time interface is brought up (ifconfig up),
instead just at USB probe time. This causes problem with setting custom MAC
address to device as ax88178_reset causes reload of MAC address from EEPROM.

This patch fixes the issue by rewriting MAC address at end of ax88178_reset.

Signed-off-by: Jussi Kivilinna <jussi.kivilinna@mbnet.fi>
Cc: Grant Grundler <grundler@chromium.org>
Cc: Allan Chou <allan@asix.com.tw>
Cc: stable <stable@vger.kernel.org>
---
 drivers/net/usb/asix.c |    7 +++++++
 1 files changed, 7 insertions(+), 0 deletions(-)

diff --git a/drivers/net/usb/asix.c b/drivers/net/usb/asix.c
index eb6b4c1..4736425 100644
--- a/drivers/net/usb/asix.c
+++ b/drivers/net/usb/asix.c
@@ -1324,6 +1324,13 @@ static int ax88178_reset(struct usbnet *dev)
 	if (ret < 0)
 		return ret;
 
+	/* Rewrite MAC address */
+	memcpy(data->mac_addr, dev->net->dev_addr, ETH_ALEN);
+	ret = asix_write_cmd(dev, AX_CMD_WRITE_NODE_ID, 0, 0, ETH_ALEN,
+							data->mac_addr);
+	if (ret < 0)
+		return ret;
+
 	ret = asix_write_rx_ctl(dev, AX_DEFAULT_RX_CTL);
 	if (ret < 0)
 		return ret;

^ permalink raw reply related	[flat|nested] 6+ messages in thread

* Re: [PATCH 2/2] asix: fix setting custom MAC address on Asix 88178 devices
  2012-01-10 16:40 ` [PATCH 2/2] asix: fix setting custom MAC address on Asix 88178 devices Jussi Kivilinna
@ 2012-01-10 18:43   ` Grant Grundler
  2012-01-10 23:00   ` David Miller
  1 sibling, 0 replies; 6+ messages in thread
From: Grant Grundler @ 2012-01-10 18:43 UTC (permalink / raw)
  To: Jussi Kivilinna; +Cc: netdev, Allan Chou, David S. Miller

On Tue, Jan 10, 2012 at 8:40 AM, Jussi Kivilinna
<jussi.kivilinna@mbnet.fi> wrote:
> (Note: only compile tested, I don't have 88178 device to confirm that this
> patch works. Please, test.)
>
> ---
>
> In kernel v3.2 initialization sequence for Asix 88178 devices was changed so
> that hardware is reseted on every time interface is brought up (ifconfig up),
> instead just at USB probe time. This causes problem with setting custom MAC
> address to device as ax88178_reset causes reload of MAC address from EEPROM.
>
> This patch fixes the issue by rewriting MAC address at end of ax88178_reset.
>
> Signed-off-by: Jussi Kivilinna <jussi.kivilinna@mbnet.fi>
> Cc: Grant Grundler <grundler@chromium.org>

Acked-by: Grant Grundler <grundler@chromium.org>

Built with 3.0.13 based kernel and tested *once* on Samsung Series 5
w/AX88178 dongle (NWU220G)
Link comes up and DHCP works.

thanks,
grant

> Cc: Allan Chou <allan@asix.com.tw>
> Cc: stable <stable@vger.kernel.org>
> ---
>  drivers/net/usb/asix.c |    7 +++++++
>  1 files changed, 7 insertions(+), 0 deletions(-)
>
> diff --git a/drivers/net/usb/asix.c b/drivers/net/usb/asix.c
> index eb6b4c1..4736425 100644
> --- a/drivers/net/usb/asix.c
> +++ b/drivers/net/usb/asix.c
> @@ -1324,6 +1324,13 @@ static int ax88178_reset(struct usbnet *dev)
>        if (ret < 0)
>                return ret;
>
> +       /* Rewrite MAC address */
> +       memcpy(data->mac_addr, dev->net->dev_addr, ETH_ALEN);
> +       ret = asix_write_cmd(dev, AX_CMD_WRITE_NODE_ID, 0, 0, ETH_ALEN,
> +                                                       data->mac_addr);
> +       if (ret < 0)
> +               return ret;
> +
>        ret = asix_write_rx_ctl(dev, AX_DEFAULT_RX_CTL);
>        if (ret < 0)
>                return ret;
>

^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: [PATCH 1/2] asix: fix setting custom MAC address on Asix 88772 devices
  2012-01-10 16:40 [PATCH 1/2] asix: fix setting custom MAC address on Asix 88772 devices Jussi Kivilinna
  2012-01-10 16:40 ` [PATCH 2/2] asix: fix setting custom MAC address on Asix 88178 devices Jussi Kivilinna
@ 2012-01-10 23:00 ` David Miller
  1 sibling, 0 replies; 6+ messages in thread
From: David Miller @ 2012-01-10 23:00 UTC (permalink / raw)
  To: jussi.kivilinna; +Cc: netdev, grundler, allan

From: Jussi Kivilinna <jussi.kivilinna@mbnet.fi>
Date: Tue, 10 Jan 2012 18:40:17 +0200

> In kernel v3.2 initialization sequence for Asix 88772 devices was changed so
> that hardware is reseted on every time interface is brought up (ifconfig up),
> instead just at USB probe time. This causes problem with setting custom MAC
> address to device as ax88772_reset causes reload of MAC address from EEPROM.
> 
> This patch fixes the issue by rewriting MAC address at end of ax88772_reset.
> 
> Signed-off-by: Jussi Kivilinna <jussi.kivilinna@mbnet.fi>
> Acked-by: Grant Grundler <grundler@chromium.org>

Applied.

^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: [PATCH 2/2] asix: fix setting custom MAC address on Asix 88178 devices
  2012-01-10 16:40 ` [PATCH 2/2] asix: fix setting custom MAC address on Asix 88178 devices Jussi Kivilinna
  2012-01-10 18:43   ` Grant Grundler
@ 2012-01-10 23:00   ` David Miller
  2012-01-11 14:22     ` Jussi Kivilinna
  1 sibling, 1 reply; 6+ messages in thread
From: David Miller @ 2012-01-10 23:00 UTC (permalink / raw)
  To: jussi.kivilinna; +Cc: netdev, grundler, allan

From: Jussi Kivilinna <jussi.kivilinna@mbnet.fi>
Date: Tue, 10 Jan 2012 18:40:23 +0200

> (Note: only compile tested, I don't have 88178 device to confirm that this
> patch works. Please, test.)
> 
> ---
> 
> In kernel v3.2 initialization sequence for Asix 88178 devices was changed so
> that hardware is reseted on every time interface is brought up (ifconfig up),
> instead just at USB probe time. This causes problem with setting custom MAC
> address to device as ax88178_reset causes reload of MAC address from EEPROM.
> 
> This patch fixes the issue by rewriting MAC address at end of ax88178_reset.
> 
> Signed-off-by: Jussi Kivilinna <jussi.kivilinna@mbnet.fi>
> Cc: Grant Grundler <grundler@chromium.org>
> Cc: Allan Chou <allan@asix.com.tw>
> Cc: stable <stable@vger.kernel.org>
> ---

Please do not format your commit messages like this, everything after
that first "---" will be stripped away.  So in this case if I applied
this email into GIT as-is we'd lose the actual commit message and
only have your "(Note: " thing.

I fixed this up and applied it with Grant's ACK.

^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: [PATCH 2/2] asix: fix setting custom MAC address on Asix 88178 devices
  2012-01-10 23:00   ` David Miller
@ 2012-01-11 14:22     ` Jussi Kivilinna
  0 siblings, 0 replies; 6+ messages in thread
From: Jussi Kivilinna @ 2012-01-11 14:22 UTC (permalink / raw)
  To: David Miller; +Cc: netdev, grundler, allan

Quoting David Miller <davem@davemloft.net>:

>
> Please do not format your commit messages like this, everything after
> that first "---" will be stripped away.  So in this case if I applied
> this email into GIT as-is we'd lose the actual commit message and
> only have your "(Note: " thing.
>
> I fixed this up and applied it with Grant's ACK.
>

Ok, I'll avoid doing that in future. Thanks.

-Jussi

^ permalink raw reply	[flat|nested] 6+ messages in thread

end of thread, other threads:[~2012-01-11 14:22 UTC | newest]

Thread overview: 6+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2012-01-10 16:40 [PATCH 1/2] asix: fix setting custom MAC address on Asix 88772 devices Jussi Kivilinna
2012-01-10 16:40 ` [PATCH 2/2] asix: fix setting custom MAC address on Asix 88178 devices Jussi Kivilinna
2012-01-10 18:43   ` Grant Grundler
2012-01-10 23:00   ` David Miller
2012-01-11 14:22     ` Jussi Kivilinna
2012-01-10 23:00 ` [PATCH 1/2] asix: fix setting custom MAC address on Asix 88772 devices David Miller

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).