if (clear_bit(0, (void *) &(p->dev.tbusy)))
Is clear_bit supposed to return a value (GCC is complaining).