Message ID | 20180301210139.GX14069@wotan.suse.de (mailing list archive) |
---|---|
State | RFC |
Delegated to: | Kalle Valo |
Headers | show |
On 01/03/18 23:01, Luis R. Rodriguez wrote: > On Thu, Mar 01, 2018 at 10:11:01PM +0200, cantabile wrote: >> On 01/03/18 19:29, Luis R. Rodriguez wrote: >>> >>> Correct? >>> >> >> The above log is from "20180227-firmware-cache" kernel plus your suggested >> change that makes it always upload the firmware: >> >> diff --git a/drivers/net/wireless/mediatek/mt7601u/mcu.c >> b/drivers/net/wireless/mediatek/mt7601u/mcu.c >> index 65a8004418ea..04cbffd225a1 100644 >> --- a/drivers/net/wireless/mediatek/mt7601u/mcu.c >> +++ b/drivers/net/wireless/mediatek/mt7601u/mcu.c >> @@ -421,7 +421,7 @@ static int mt7601u_load_firmware(struct mt7601u_dev >> *dev) >> MT_USB_DMA_CFG_TX_BULK_EN)); >> >> if (firmware_running(dev)) >> - return 0; >> + pr_info("Firmware already loaded but going to reload..."); >> >> ret = request_firmware(&fw, MT7601U_FIRMWARE, dev->dev); >> if (ret) > > Huh, if you are using 20180227-firmware-cache, then your diff should instead > be this no? > > diff --git a/drivers/net/wireless/mediatek/mt7601u/mcu.c b/drivers/net/wireless/mediatek/mt7601u/mcu.c > index b90456a4b4d7..04cbffd225a1 100644 > --- a/drivers/net/wireless/mediatek/mt7601u/mcu.c > +++ b/drivers/net/wireless/mediatek/mt7601u/mcu.c > @@ -421,7 +421,7 @@ static int mt7601u_load_firmware(struct mt7601u_dev *dev) > MT_USB_DMA_CFG_TX_BULK_EN)); > > if (firmware_running(dev)) > - return request_firmware_cache(dev->dev, MT7601U_FIRMWARE); > + pr_info("Firmware already loaded but going to reload..."); > > ret = request_firmware(&fw, MT7601U_FIRMWARE, dev->dev); > if (ret) > > Right, yes. I just copied the diff from your email instead of git diff. >> I recompiled the kernel with CONFIG_DEBUG_INFO=y, but the messages in >> journalctl look pretty much the same as before. There are still question >> marks in the call traces, there are no line numbers, and it still says >> "verbose debug info unavailable". /proc/config.gz contains >> CONFIG_DEBUG_INFO=y. What else do I need to do? > > Hrm, odd. > > CONFIG_FRAME_POINTER=y > > Maybe. That doesn't exist in /proc/config.gz, not even commented out. I used SymSearch in 'make nconfig', and it finds "FRAME_POINTER": Symbol: FRAME_POINTER [=n] Type : bool Prompt: Compile the kernel with frame pointers Location: -> Kernel hacking -> Compile-time checks and compiler options But when I go to that location, there is no such prompt. I don't know what's going on here. > >>> But if the patches I posted help, I guess we already have a solution, The rest of >>> these email exchanges are all just hypothetical exercises. >>> >> >> Your patches definitely fix the problem I reported in my initial email. > > Ah OK :) > > Luis >
diff --git a/drivers/net/wireless/mediatek/mt7601u/mcu.c b/drivers/net/wireless/mediatek/mt7601u/mcu.c index b90456a4b4d7..04cbffd225a1 100644 --- a/drivers/net/wireless/mediatek/mt7601u/mcu.c +++ b/drivers/net/wireless/mediatek/mt7601u/mcu.c @@ -421,7 +421,7 @@ static int mt7601u_load_firmware(struct mt7601u_dev *dev) MT_USB_DMA_CFG_TX_BULK_EN)); if (firmware_running(dev)) - return request_firmware_cache(dev->dev, MT7601U_FIRMWARE); + pr_info("Firmware already loaded but going to reload..."); ret = request_firmware(&fw, MT7601U_FIRMWARE, dev->dev); if (ret)