On Mon, Aug 13, 2012 at 10:36:07PM +0100, Matthew Garrett wrote: > On Mon, Aug 13, 2012 at 04:04:44PM -0500, Seth Forshee wrote: > > > + > > > + while (i && (gwr & 0x01)) { > > > + inb(gmux_data->iostart + GMUX_PORT_READ); > > > + gwr = inb(gmux_data->iostart + GMUX_PORT_WRITE); > > > + msleep(100); > > > > Wouldn't it make more sense if the msleep was before reading the port > > again? Otherwise there's no substantial dely between the first and > > second times we read it. > > Mm. I'm doing the same as the ACPI implementation - it may be that > reading GMUX_PORT_READ triggers the update of GMUX_PORT_WRITE? Hard to > know without the docs. Indeed. I do find the structure of the loop to be odd, but I suppose the safest approach is to follow the only known working implementation we have. In that case ... Acked-by: Seth Forshee <seth.forshee@xxxxxxxxxxxxx> -- To unsubscribe from this list: send the line "unsubscribe platform-driver-x86" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html