On Mon, 2022-06-13 at 14:21 +0200, Lorenzo Bianconi wrote: > > From: Deren Wu <deren.wu@xxxxxxxxxxxx> > > > > Move sdio_release_host() to final resource handing > > > > Fixes: b12deb5e86fa ("mt76: mt7921s: fix > > mt7921s_mcu_[fw|drv]_pmctrl") > > Reported-by: YN Chen <YN.Chen@xxxxxxxxxxxx> > > Signed-off-by: Deren Wu <deren.wu@xxxxxxxxxxxx> > > --- > > drivers/net/wireless/mediatek/mt76/mt7921/sdio_mcu.c | 2 +- > > 1 file changed, 1 insertion(+), 1 deletion(-) > > > > diff --git a/drivers/net/wireless/mediatek/mt76/mt7921/sdio_mcu.c > > b/drivers/net/wireless/mediatek/mt76/mt7921/sdio_mcu.c > > index 54a5c712a3c3..1856d677fff4 100644 > > --- a/drivers/net/wireless/mediatek/mt76/mt7921/sdio_mcu.c > > +++ b/drivers/net/wireless/mediatek/mt76/mt7921/sdio_mcu.c > > @@ -156,9 +156,9 @@ int mt7921s_mcu_fw_pmctrl(struct mt7921_dev > > *dev) > > > > err = readx_poll_timeout(mt76s_read_pcr, &dev->mt76, status, > > !(status & WHLPCR_IS_DRIVER_OWN), > > 2000, 1000000); > > +err: > > sdio_release_host(func); > > > > -err: > > if (err < 0) { > > dev_err(dev->mt76.dev, "firmware own failed\n"); > > clear_bit(MT76_STATE_PM, &mphy->state); > > -- > > 2.18.0 > > > > Hi Deren, > > in order to align the code with mt7921e, can you please fold the > following > changes into this patch? > > Regards, > Lorenzo > Hi Lore, Sure, I will post v2 with your patch. Thanks, Deren > --- a/drivers/net/wireless/mediatek/mt76/mt7921/sdio_mcu.c > +++ b/drivers/net/wireless/mediatek/mt76/mt7921/sdio_mcu.c > @@ -135,8 +135,8 @@ int mt7921s_mcu_fw_pmctrl(struct mt7921_dev *dev) > struct sdio_func *func = dev->mt76.sdio.func; > struct mt76_phy *mphy = &dev->mt76.phy; > struct mt76_connac_pm *pm = &dev->pm; > - int err = 0; > u32 status; > + int err; > > sdio_claim_host(func); > > @@ -147,7 +147,7 @@ int mt7921s_mcu_fw_pmctrl(struct mt7921_dev *dev) > 2000, 1000000); > if (err < 0) { > dev_err(dev->mt76.dev, "mailbox ACK not > cleared\n"); > - goto err; > + goto out; > } > } > > @@ -155,18 +155,18 @@ int mt7921s_mcu_fw_pmctrl(struct mt7921_dev > *dev) > > err = readx_poll_timeout(mt76s_read_pcr, &dev->mt76, status, > !(status & WHLPCR_IS_DRIVER_OWN), > 2000, 1000000); > -err: > +out: > sdio_release_host(func); > > if (err < 0) { > dev_err(dev->mt76.dev, "firmware own failed\n"); > clear_bit(MT76_STATE_PM, &mphy->state); > - err = -EIO; > + return -EIO; > } > > pm->stats.last_doze_event = jiffies; > pm->stats.awake_time += pm->stats.last_doze_event - > pm->stats.last_wake_event; > > - return err; > + return 0; > } > _______________________________________________ > Linux-mediatek mailing list > Linux-mediatek@xxxxxxxxxxxxxxxxxxx > http://lists.infradead.org/mailman/listinfo/linux-mediatek