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);
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) {
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;