On Sunday 15 November 2015 18:59:05 David Miller wrote: > From: Andy Shevchenko <andy.shevche...@gmail.com> > Date: Sun, 15 Nov 2015 04:30:25 +0200 > > > On Sun, Nov 15, 2015 at 12:05 AM, Ondrej Zary > > > >> @@ -433,9 +474,10 @@ rio_open (struct net_device *dev) > >> > >> alloc_list (dev); > >> > >> - /* Get station address */ > >> - for (i = 0; i < 6; i++) > >> - dw8(StationAddr0 + i, dev->dev_addr[i]); > >> + /* Set station address */ > >> + for (i = 0; i < 3; i++) > >> + dw16(StationAddr0 + 2 * i, > >> + cpu_to_le16(((u16 *)dev->dev_addr)[i])); > > > > Is it specific requirement for new HW? If not, may be another patch > > with micro optimizations. > > I absolutely agree, this definitely should not just be blindly copied > over from the other driver. > > And if it is a requirement:
Yes, it's required. The byte access does not work on IP1000A chips. > 1) It must be documented as per why, both in a comment above the loop > and in the commit log message. OK. > 2) It must therefore be tested on dl2k chips that worked with the > dl2k driver beforehand to prove that it doesn't break them. Tested it with D-Link DGE-550T (chip marked DL-2000, probably rebranded TC9020) and it works fine. Even the TC9020 datasheet says: "Access Rule: Word, Double Word". So it was always wrong but worked anyway. -- Ondrej Zary -- To unsubscribe from this list: send the line "unsubscribe netdev" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html