ANDROID: usb: f_accessory: Avoid bitfields for shared variables
Using bitfields for shared variables is a "bad idea", as they require a non-atomic read-modify-write to be generated by the compiler, which can cause updates to unrelated bits in the same word to disappear. Ensure the 'online' and 'disconnected' members of 'struct acc_dev' are placed in separate variables by declaring them each as 'int'. Bug: 173789633 Signed-off-by: Will Deacon <willdeacon@google.com> Change-Id: Ia6031d82a764e83b2cc3502fbe5fb273511da752 Signed-off-by: Giuliano Procida <gprocida@google.com>
This commit is contained in:
committed by
Giuliano Procida
parent
ff729a0610
commit
429fec28c8
@@ -82,13 +82,13 @@ struct acc_dev {
|
||||
/* online indicates state of function_set_alt & function_unbind
|
||||
* set to 1 when we connect
|
||||
*/
|
||||
int online:1;
|
||||
int online;
|
||||
|
||||
/* disconnected indicates state of open & release
|
||||
* Set to 1 when we disconnect.
|
||||
* Not cleared until our file is closed.
|
||||
*/
|
||||
int disconnected:1;
|
||||
int disconnected;
|
||||
|
||||
/* strings sent by the host */
|
||||
char manufacturer[ACC_STRING_SIZE];
|
||||
|
||||
Reference in New Issue
Block a user