Timur Tabi wrote: >> + spin_lock_irqsave(&cmxgcr_lock, flags); >> + >> + clrsetbits_be32(&mux->cmxgcr, QE_CMXGCR_USBCS, val); > > Would it be useful if I made the clrsetbits functions atomic, using lwarx/stwcx.? No. clrsetbits operates on I/O registers, not RAM. -Scott