@@ -1186,7 +1186,7 @@ static void mt_touch_report(struct hid_device *hid,
1186
1186
int contact_count = -1 ;
1187
1187
1188
1188
/* sticky fingers release in progress, abort */
1189
- if (test_and_set_bit (MT_IO_FLAGS_RUNNING , & td -> mt_io_flags ))
1189
+ if (test_and_set_bit_lock (MT_IO_FLAGS_RUNNING , & td -> mt_io_flags ))
1190
1190
return ;
1191
1191
1192
1192
scantime = * app -> scantime ;
@@ -1267,7 +1267,7 @@ static void mt_touch_report(struct hid_device *hid,
1267
1267
del_timer (& td -> release_timer );
1268
1268
}
1269
1269
1270
- clear_bit (MT_IO_FLAGS_RUNNING , & td -> mt_io_flags );
1270
+ clear_bit_unlock (MT_IO_FLAGS_RUNNING , & td -> mt_io_flags );
1271
1271
}
1272
1272
1273
1273
static int mt_touch_input_configured (struct hid_device * hdev ,
@@ -1699,11 +1699,11 @@ static void mt_expired_timeout(struct timer_list *t)
1699
1699
* An input report came in just before we release the sticky fingers,
1700
1700
* it will take care of the sticky fingers.
1701
1701
*/
1702
- if (test_and_set_bit (MT_IO_FLAGS_RUNNING , & td -> mt_io_flags ))
1702
+ if (test_and_set_bit_lock (MT_IO_FLAGS_RUNNING , & td -> mt_io_flags ))
1703
1703
return ;
1704
1704
if (test_bit (MT_IO_FLAGS_PENDING_SLOTS , & td -> mt_io_flags ))
1705
1705
mt_release_contacts (hdev );
1706
- clear_bit (MT_IO_FLAGS_RUNNING , & td -> mt_io_flags );
1706
+ clear_bit_unlock (MT_IO_FLAGS_RUNNING , & td -> mt_io_flags );
1707
1707
}
1708
1708
1709
1709
static int mt_probe (struct hid_device * hdev , const struct hid_device_id * id )
0 commit comments