On Fri, 2009-07-31 at 11:35 -0700, Andrey Yurovsky wrote: > The SPI driver writes to the bus mode register and performs a sanity > check by reading back what we wrote, however only the lower four bits of > that register are defined. In some cases, the device side seems to set > the higher bits, causing us to fail the sanity check unnecessarily. > Check only the lower four bits instead. > > Thanks to John Goyette from Schick Technologies for pointing out the > problem. > > Signed-off-by: Andrey Yurovsky <andrey@xxxxxxxxxxx> Acked-by: Dan Williams <dcbw@xxxxxxxxxx> > --- > drivers/net/wireless/libertas/if_spi.c | 2 +- > 1 files changed, 1 insertions(+), 1 deletions(-) > > diff --git a/drivers/net/wireless/libertas/if_spi.c b/drivers/net/wireless/libertas/if_spi.c > index 6564282..86263a9 100644 > --- a/drivers/net/wireless/libertas/if_spi.c > +++ b/drivers/net/wireless/libertas/if_spi.c > @@ -376,7 +376,7 @@ static int spu_set_bus_mode(struct if_spi_card *card, u16 mode) > err = spu_read_u16(card, IF_SPI_SPU_BUS_MODE_REG, &rval); > if (err) > return err; > - if (rval != mode) { > + if ((rval & 0xF) != mode) { > lbs_pr_err("Can't read bus mode register.\n"); > return -EIO; > } -- To unsubscribe from this list: send the line "unsubscribe linux-wireless" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html