X-Git-Url: http://git.rohieb.name/openwrt.git/blobdiff_plain/2cea1e6b9aa20af4040e87e88f9d4d2017cc2233..a2fba5fe5ccf074195022d7446c086e51b4f7fda:/openwrt/package/linux/kernel-source/drivers/net/hnd/sbutils.c?ds=sidebyside diff --git a/openwrt/package/linux/kernel-source/drivers/net/hnd/sbutils.c b/openwrt/package/linux/kernel-source/drivers/net/hnd/sbutils.c index 50ec33986..1b221e0b3 100644 --- a/openwrt/package/linux/kernel-source/drivers/net/hnd/sbutils.c +++ b/openwrt/package/linux/kernel-source/drivers/net/hnd/sbutils.c @@ -136,7 +136,7 @@ sb_read_sbreg(void *sbh, volatile uint32 *sbr) INTR_OFF(si, intr_val); tmp = 1; OSL_PCMCIA_WRITE_ATTR(si->osh, MEM_SEG, &tmp, 1); - (uint32)sbr &= ~(1 << 11); /* mask out bit 11*/ + sbr = (uint32 *) (((uint32) sbr) & ~(1 << 11)); /* mask out bit 11*/ } val = R_REG(sbr); @@ -170,7 +170,7 @@ sb_write_sbreg(void *sbh, volatile uint32 *sbr, uint32 v) INTR_OFF(si, intr_val); tmp = 1; OSL_PCMCIA_WRITE_ATTR(si->osh, MEM_SEG, &tmp, 1); - (uint32)sbr &= ~(1 << 11); /* mask out bit 11 */ + sbr = (uint32 *) (((uint32) sbr) & ~(1 << 11)); /* mask out bit 11*/ } if (si->bus == PCMCIA_BUS) { @@ -234,7 +234,7 @@ sb_kattach() regs = (uint32 *)REG_MAP(SB_ENUM_BASE, SB_CORE_SIZE); cid = R_REG((uint32 *)regs); - if (((cid & CID_ID_MASK) == 0x4712) && + if (((cid & (CID_ID_MASK | CID_PKG_MASK)) == 0x00104712) && ((cid & CID_REV_MASK) <= 0x00020000)) { uint32 *scc, val;