On 2018-10-19 10:58, Lorenzo Bianconi wrote: > Unify firmware version used on mt76x0e and mt76x0u drivers. > Fallback to mt7610u fw if mt7610e one is not available > > Signed-off-by: Lorenzo Bianconi <lorenzo.bianconi@xxxxxxxxxx> > --- > this patch is based on top of: > https://patchwork.kernel.org/patch/10648399/ > --- > .../wireless/mediatek/mt76/mt76x0/mt76x0.h | 2 ++ > .../net/wireless/mediatek/mt76/mt76x0/usb.c | 2 ++ > .../wireless/mediatek/mt76/mt76x0/usb_mcu.c | 23 +++++++++++++++---- > 3 files changed, 23 insertions(+), 4 deletions(-) > > diff --git a/drivers/net/wireless/mediatek/mt76/mt76x0/usb_mcu.c b/drivers/net/wireless/mediatek/mt76/mt76x0/usb_mcu.c > index a9f14d5149d1..b57c2a11146f 100644 > --- a/drivers/net/wireless/mediatek/mt76/mt76x0/usb_mcu.c > +++ b/drivers/net/wireless/mediatek/mt76/mt76x0/usb_mcu.c > @@ -22,7 +22,6 @@ > > #define MCU_FW_URB_MAX_PAYLOAD 0x38f8 > #define MCU_FW_URB_SIZE (MCU_FW_URB_MAX_PAYLOAD + 12) > -#define MT7610U_FIRMWARE "mediatek/mt7610u.bin" > > static int > mt76x0u_upload_firmware(struct mt76x02_dev *dev, > @@ -75,6 +74,24 @@ mt76x0u_upload_firmware(struct mt76x02_dev *dev, > return err; > } > > +static int mt76x0_get_firmware(struct mt76x02_dev *dev, > + const struct firmware **fw) > +{ > + int err; > + > + /* try to load mt7610e fw if available > + * otherwise fall back to mt7610u one > + */ > + err = request_firmware(fw, MT7610E_FIRMWARE, dev->mt76.dev); > + if (err) { > + dev_info(dev->mt76.dev, "%s not found, switching to %s", > + MT7610E_FIRMWARE, MT7610U_FIRMWARE); > + return request_firmware(fw, MT7610U_FIRMWARE, > + dev->mt76.dev); > + } > + return 0; > +} You should use firmware_request_nowarn for the first request. - Felix