On Fri, 20 Sep 2019 15:58:17 +0200, Lorenzo Bianconi wrote: > I think this is not correct since (not considering the cast) we should break > from the loop if val != 0 and val != 0xff, so the right approach I guess is: > > diff --git a/drivers/net/wireless/mediatek/mt7601u/phy.c b/drivers/net/wireless/mediatek/mt7601u/phy.c > index 06f5702ab4bd..d863ab4a66c9 100644 > --- a/drivers/net/wireless/mediatek/mt7601u/phy.c > +++ b/drivers/net/wireless/mediatek/mt7601u/phy.c > @@ -213,7 +213,7 @@ int mt7601u_wait_bbp_ready(struct mt7601u_dev *dev) > > do { > val = mt7601u_bbp_rr(dev, MT_BBP_REG_VERSION); > - if (val && ~val) > + if (val && val != 0xff) > break; > } while (--i); Yup, feel free to add my ack if you post this, Lorenzo.