All of lore.kernel.org
 help / color / mirror / Atom feed
From: "Luis R. Rodriguez" <mcgrof@kernel.org>
To: Arend van Spriel <arend.vanspriel@broadcom.com>
Cc: "Luis R. Rodriguez" <mcgrof@kernel.org>,
	cantabile <cantabile.desu@gmail.com>,
	Jakub Kicinski <kubakici@wp.pl>,
	linux-wireless@vger.kernel.org,
	Greg Kroah-Hartman <gregkh@linuxfoundation.org>,
	Andrew Morton <akpm@linux-foundation.org>
Subject: Re: [PATCH] mt7601u: Fix system freeze after resuming from hibernation
Date: Wed, 28 Feb 2018 20:41:38 +0000	[thread overview]
Message-ID: <20180228204138.GN14069@wotan.suse.de> (raw)
In-Reply-To: <5A970089.6030805@broadcom.com>

On Wed, Feb 28, 2018 at 08:18:33PM +0100, Arend van Spriel wrote:
> On 2/28/2018 7:48 PM, Luis R. Rodriguez wrote:
> > On Wed, Feb 28, 2018 at 08:02:59PM +0200, cantabile wrote:
> > > On 27/02/18 22:42, Luis R. Rodriguez wrote:
> > > > I'd be curious if someone who can trigger the situation can test what
> > > > happens if you use:
> > > > 
> > > > 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)
> > > > 
> > > > 
> > > > Curious, will it really fail?
> > > 
> > > This change brings no new messages from mt7601u in dmesg (other than this
> > > pr_info), and the device works fine, as far as I can tell.
> > 
> > OK so we know that the optimization is optional, not a requirement.
> > That may be worth extending in documentation on the driver.
> > 
> > > > Note that I see mt7601u_stop() just calls mt7601u_mac_stop(). The big cleanup
> > > > happens via mt7601u_cleanup(), but I see mt7601u_disconnect() calls it.
> > > > 
> > > > Just curious, does that not get called on shutdown?
> > > > 
> > > > diff --git a/drivers/net/wireless/mediatek/mt7601u/usb.c b/drivers/net/wireless/mediatek/mt7601u/usb.c
> > > > index b9e4f6793138..126ef2ba77c2 100644
> > > > --- a/drivers/net/wireless/mediatek/mt7601u/usb.c
> > > > +++ b/drivers/net/wireless/mediatek/mt7601u/usb.c
> > > > @@ -311,6 +311,7 @@ static void mt7601u_disconnect(struct usb_interface *usb_intf)
> > > >    {
> > > >    	struct mt7601u_dev *dev = usb_get_intfdata(usb_intf);
> > > > +	pr_info("Calling mt7601u_disconnect()...");
> > > >    	ieee80211_unregister_hw(dev->hw);
> > > >    	mt7601u_cleanup(dev);
> > > > 
> > > > If it does, one option is mt7601u_cleanup() can use some love to really shut down
> > > > the device more... But its not clear to me what else could be done and I'm very
> > > > inclined to believe its not sensible.
> > > > 
> > > "Calling mt7601u_disconnect" does not appear in journalctl after a reboot.
> > 
> > Oh, I didn't expect it to come up during startup, I was wondering if it did
> > trigger while going down on reboot.
> 
> Hi Luis,
> This driver does not implement a .shutdown() callback so that might be one
> reason and the usb subsystem does not call the disconnect for whatever
> reason.

Ah, that's one missing callback then. Hrm, well I suppose its optional and
without it, its just an optimization given there is no issue in keeping the
power on on the device and it retaining the firmware upon boot.

Note that the on interface stop all the DMA and MAC is stopped so I suppose
that is sufficient from an 802.11 perspective.

Thanks for chiming in!

  Luis

-- 
Luis Rodriguez, SUSE LINUX GmbH
Maxfeldstrasse 5; D-90409 Nuernberg

  reply	other threads:[~2018-02-28 20:41 UTC|newest]

Thread overview: 24+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2018-02-14 11:34 [PATCH] mt7601u: Fix system freeze after resuming from hibernation cantabile
2018-02-15  0:45 ` Jakub Kicinski
2018-02-15 11:38   ` cantabile
2018-02-15 21:47     ` Jakub Kicinski
2018-02-17 11:23       ` cantabile
2018-02-19  5:55         ` Jakub Kicinski
2018-02-19 15:01           ` cantabile
2018-02-25 17:54             ` Luis R. Rodriguez
2018-02-27  2:28               ` Jakub Kicinski
2018-02-27 12:25                 ` cantabile
2018-02-27 16:54                   ` Luis R. Rodriguez
2018-02-27 18:22                     ` Jakub Kicinski
2018-02-27 20:42                       ` Luis R. Rodriguez
2018-02-28 18:02                         ` cantabile
2018-02-28 18:48                           ` Luis R. Rodriguez
2018-02-28 19:18                             ` Arend van Spriel
2018-02-28 20:41                               ` Luis R. Rodriguez [this message]
2018-02-28 21:18                             ` cantabile
2018-03-01  0:28                               ` Luis R. Rodriguez
2018-03-01 14:05                                 ` cantabile
2018-03-01 17:29                                   ` Luis R. Rodriguez
2018-03-01 20:11                                     ` cantabile
2018-03-01 21:01                                       ` Luis R. Rodriguez
2018-03-02 10:43                                         ` cantabile

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20180228204138.GN14069@wotan.suse.de \
    --to=mcgrof@kernel.org \
    --cc=akpm@linux-foundation.org \
    --cc=arend.vanspriel@broadcom.com \
    --cc=cantabile.desu@gmail.com \
    --cc=gregkh@linuxfoundation.org \
    --cc=kubakici@wp.pl \
    --cc=linux-wireless@vger.kernel.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.