• Lorenzo Bianconi's avatar
    mt7601u: make write with mask access atomic · fee05843
    Lorenzo Bianconi authored
    Introduce __mt7601u_rr and __mt7601u_vendor_single_wr routines in order
    to make mt7601u_rmw and mt7601u_rmc atomic. This patch does not fix a
    reported issue but makes the usb access more robust to concurrent
    operations on the same register since it is theoretically possible that
    read and write accesses of mt7601u_rmw/mt7601u_rmc can be interleaved with
    a different write operation on the same register.
    Moreover using __mt7601u_rr and __mt7601u_vendor_single_wr in
    mt7601u_rmw/mt7601u_rmc allows to grab vendor_req_mutex mutex once
    instead of twice
    Signed-off-by: default avatarLorenzo Bianconi <lorenzo.bianconi@redhat.com>
    Acked-by: default avatarJakub Kicinski <kubakici@wp.pl>
    Signed-off-by: default avatarKalle Valo <kvalo@codeaurora.org>
    fee05843
usb.c 9.9 KB