pci fixup
[openwrt.git] / openwrt / package / linux / kernel-source / drivers / net / hnd / sbutils.c
index 50ec339..1b221e0 100644 (file)
@@ -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;
 
This page took 0.023905 seconds and 4 git commands to generate.