Re: [PATCH] 8139cp: allow to set mac address on running device

From: Jeff Garzik
Date: Fri Mar 13 2009 - 09:37:19 EST


Ivan Vecera wrote:
Jiri Pirko wrote:
Fri, Mar 13, 2009 at 10:01:21AM CET, ivecera@xxxxxxxxxx wrote:
Jiri Pirko wrote:
Thu, Mar 12, 2009 at 06:11:21PM CET, mschmidt@xxxxxxxxxx wrote:
On Thu, 12 Mar 2009 17:27:31 +0100
Jiri Pirko <jpirko@xxxxxxxxxx> wrote:

+ cpw32_f(MAC0 + 0, le32_to_cpu (*(__le32 *) (dev->dev_addr +
0)));
+ cpw32_f(MAC0 + 4, le32_to_cpu (*(__le32 *) (dev->dev_addr +
4)));
You're writing to the card, so using *_to_cpu looks suspicious.
Well, I'm using the same approach as it is already done in function
cp_init_hw(). Quote:

/* Restore our idea of the MAC address. */
cpw32_f (MAC0 + 0, le32_to_cpu (*(__le32 *) (dev->dev_addr + 0)));
cpw32_f (MAC0 + 4, le32_to_cpu (*(__le32 *) (dev->dev_addr + 4)));

Yes, that's right but I would use more cleaner approach:
===
u32 low, high;
low = addr[0] | (addr[1] << 8) | (addr[2] << 16) | (addr[3] << 24);
high = addr[4] | (addr[5] << 8);
cpw32_f(MAC0 + 0, low);
cpw32_f(MAC0 + 4, high);
===
Well, I have no problem with this (in fact I like this more). I just wanted to
stay consistent to existing code. Maybe it would be good to change this chunk
of code in cp_init_hw() too, don't you think?
Yes, you're right.

The existing code is correct, and works. How about just leaving it alone?

You can grep around and see other drivers doing this when necessary, too.

Jeff



--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/