lkml.org 
[lkml]   [2004]   [Dec]   [10]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
SubjectRe: [PATCH 1/1] driver: Tpm hardware enablement
From
Date
On Iau, 2004-12-09 at 15:48, Arjan van de Ven wrote:
> > + /* wait for status */
> > + add_timer(&status_timer);
> > + do {
> > + schedule();
> > + status = inb(chip->base + NSC_STATUS);
> > + if (status & NSC_STATUS_OBF)
> > + status = inb(chip->base + NSC_DATA);
> > + if (status & NSC_STATUS_RDY) {
> > + del_singleshot_timer_sync(&status_timer);
> > + return 0;
> > + }
> > + } while (!expired);
>
> same comment. Also the timer handling looks suspect... can you guarantee
> 100% sure that the timer is gone when the while falls through ?

Yes but you can't be sure it ever will - needs an "rmb()" barrier so
that the compiler doesn't sneak off and optimise expired


-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/

\
 
 \ /
  Last update: 2005-03-22 14:08    [W:0.118 / U:10.416 seconds]
©2003-2017 Jasper Spaans. hosted at Digital OceanAdvertise on this site