On Fri, 2007-11-30 at 14:01 +0000, David Howells wrote:
> David Woodhouse <[EMAIL PROTECTED]> wrote:
> 
> > I don't like this -- it shouldn't be necessary.
> 
> Actually, I think you're right.  I think the problem is that:
> 
>         if (uaddr != MTD_UADDR_NOT_SUPPORTED ) {
>                 /* ASSERT("The unlock addresses for non-8-bit mode
>                    are bollocks. We don't really need an array."); */
>                 uaddr = finfo->uaddr[0];
>         }
> 
> Should be:
> 
>         if (uaddr == MTD_UADDR_NOT_SUPPORTED ) {
>                 /* ASSERT("The unlock addresses for non-8-bit mode
>                    are bollocks. We don't really need an array."); */
>                 uaddr = finfo->uaddr[0];
>         }

Nah, it does what it's supposed to. Really, the only information in the
uaddr[] array is the information about what widths are supported, and
the _first_ unlock address is the only one we should care about.

It should change to a bitmask for the widths which are supported, and a
single int for the uaddr.

> Otherwise the finfo->uaddr[] table is useless because only the first row will
> be used, except for unsupported configurations where uaddr will be set to
> MTD_UADDR_NOT_SUPPORTED.

That is basically the assertion being made, yes. And it's true -- which
is why I didn't want you removing it ;)

> With the ASB2303 bootprom I need to use the second row because it's in the x16
> configuration, *not* the x8.

No, you need to use the second row because the first row is incorrect.
It ought to contain what's in the second row. :)

-- 
dwmw2

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

Reply via email to