Messages in this thread | | | Date | Tue, 8 Aug 2006 12:09:38 +0200 | From | Pavel Machek <> | Subject | Re: [PATCH 03/12] hdaps: Unify and cache hdaps readouts |
| |
Hi!
> > /* Parse position data: */ > > x = *(s16*)(data.val+EC_ACCEL_IDX_XPOS1); > > y = *(s16*)(data.val+EC_ACCEL_IDX_YPOS1); > > transform_axes(&x, &y); > > > >...which looks even better to me. > > Yes, that's elegant. > But it made me realize there's a race condition here (and and also in > the mainline driver): the global pos_x, rest_x etc. could be updated > while an attribute's show_* function is called. Ugh. I guess I need to > sprinkle spinlocks all over the place.
They are simple integers... so yes, locking is needed, but I'd not label it as critical. I guess you should get your series done, first. Pavel -- (english) http://www.livejournal.com/~pavelmachek (cesky, pictures) http://atrey.karlin.mff.cuni.cz/~pavel/picture/horses/blog.html - 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/
| |