Michal Kazior <michal.kazior@xxxxxxxxx> writes: > Hardware revision 2 does not support cold reset > correctly. As such it would sometimes lead to host > machine freeze or data bus errors. > > The patch introduces warm reset function which is > used instead of the cold reset one. It also moves > the reset before interrupts are being set up to > prevent any kind of spurious interrupts from being > handled. > > Signed-off-by: Michal Kazior <michal.kazior@xxxxxxxxx> [...] > + /* reset CE */ > + addr = ar_pci->mem + RTC_SOC_BASE_ADDRESS + SOC_RESET_CONTROL_ADDRESS; > + val = ioread32(addr); > + val |= SOC_RESET_CONTROL_CE_RST_MASK; > + iowrite32(val, addr); > + val = ioread32(addr); > + msleep(10); > + > + /* unreset CE */ > + val &= ~SOC_RESET_CONTROL_CE_RST_MASK, addr; > + iowrite32(val, addr); This looks wrong, I assume it was supposed to be this: val &= ~SOC_RESET_CONTROL_CE_RST_MASK; -- Kalle Valo -- 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