On 01/10/2016 08:42 PM, Greg KH wrote: > On Sun, Jan 10, 2016 at 01:42:44PM -0800, Peter Hurley wrote: >> The tty/serial core uses 5 bits in the tty_port.flags field to >> manage state. They are: >> >> ASYNCB_INITIALIZED >> ASYNCB_SUSPENDED >> ASYNCB_NORMAL_ACTIVE >> - and - >> ASYNCB_CTS_FLOW >> ASYNCB_CHECK_CD >> >> Unfortunately, updates to this field (tty_port.flags) are often >> non-atomic. Additionally, the field is visible to/modifiable by >> userspace (the first 3 bits above are not modifiable by userspace >> though). Lastly, the multi-bit ASYNC_SPD_ bitfield is in this >> tty_port.flags field as well. >> >> What needs to happen is the tty/serial core needs to update its >> state transitions atomically. I want to re-define the above 5 flags >> into a separate field in the tty_port structure and designate new >> symbols for these bits. The base patch that does this is inlined >> below. >> >> This will break out-of-tree drivers but I don't really see a >> realistic alternative. Also, I think the new symbol prefix ASY_ isn't >> great and I'd like to get some suggestions. > > Don't worry about breaking out-of-tree drivers, that's fine. > > And try "hiding" the symbol prefix behind inline functions > (tty_port_initialized(port) and the like) that way the prefix of the > symbol, or even how you do this with locking or bits or atomics will all > not matter at all. Ok, will do. Thanks for the input. Regards, Peter Hurley -- To unsubscribe from this list: send the line "unsubscribe linux-serial" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html