static __inline void ahbqueuembox(struct ahb_softc *ahb, u_int32_t mboxval, u_int attn_code) { u_int loopmax = 300; while (--loopmax) { u_int status; status = ahb_inb(ahb, HOSTSTAT); if ((status & HOSTSTAT_MBOX_EMPTY|HOSTSTAT_BUSY) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
!= HOSTSTAT_MBOX_EMPTY) break; DELAY(20); } if (loopmax == 0) panic("ahb%ld: adapter not taking commands\n", ahb->unit); ahb_outl(ahb, MBOXOUT0, mboxval); ahb_outb(ahb, ATTN, attn_code); } & has higher precedence, so this is equivalently: if (((status & HOSTSTAT_MBOX_EMPTY) | HOSTSTAT_BUSY) ... Rather then: if ((status & (HOSTSTAT_MBOX_EMPTYHOSTSTAT_BUSY)) ... Fixed. -Matt Matthew Dillon <dil...@backplane.com> To Unsubscribe: send mail to majord...@freebsd.org with "unsubscribe freebsd-current" in the body of the message