Subject: Re: linux-next: manual merge of the driver-core tree with the net-next tree

From: Arend van Spriel <[email-masked]>
Date: Wed, 3 Dec 2014 13:49:00 +0100

On 12/03/14 11:51, Jeremiah Mahler wrote:
> On Wed, Dec 03, 2014 at 12:36:55AM -0800, Jeremiah Mahler wrote:
>> all,
>>
>> On Mon, Dec 01, 2014 at 08:34:05AM +0100, Arend van Spriel wrote:
>>> On 01-12-14 08:19, Stephen Rothwell wrote:
>>>> Hi Greg,
>>>>
>>>> Today's linux-next merge of the driver-core tree got a conflict in
>>>> drivers/net/wireless/ath/ath9k/debug.c between commits 70e535ed0029
>>>> ("ath9k: clean up debugfs print of reset causes"), 7b8aaead958e
>>>> ("ath9k: restart hardware after noise floor calibration failure") and
>>>> 325e18817668 ("ath9k: fix misc debugfs when not using chan context")
>>>> from the net-next tree and commit 631bee257bd5 ("ath: use seq_file api
>>>> for ath9k debugfs files") from the driver-core tree.
>>>>
>>>> I fixed it up (see below) and can carry the fix as necessary (no action
>>>> is required).
>>>>
>>>> Greg, I am not sure why those 2 commits are even in your tree.  Do they
>>>> depend on something else in your tree?
>>>
>>> They do. The three commits below are related:
>>>
>>> d32394f ath: ath9k: use debugfs_create_devm_seqfile() helper for
>>> seq_file entrie
>>> 631bee2 ath: use seq_file api for ath9k debugfs files
>>> 98210b7 debugfs: add helper function to create device related seq_file
>>>
>>> The ath patches were made to provide example of using the new helper
>>> function and get some idea about code savings. Greg and John discussed
>>> who would take them. I noticed other ath changes in net-next so I kinda
>>> expected this email ;-)
>>>
>>> Regards,
>>> Arend
>>> --
>>> To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
>>> the body of a message to [email-masked]
>>> More majordomo info at  http://vger.kernel.org/majordomo-info.html
>>> Please read the FAQ at  http://www.tux.org/lkml/
>>
>> I just ran in to a problem with one of these commits.
>>
>> On an Acer C720 laptop if a suspend is performed the screen freezes,
>> the machine locks up, and according to the indicator lights it does
>> not enter suspend.  A hard reset is required to get it running again.
>>
>> I have bisected the kernel and found that the following is the first bad
>> commit.
>>
>>    commit d32394fae95741d733b174ec1446f27765f80233
>>    Author: Arend van Spriel<[email-masked]>
>>    Date:   Sun Nov 9 11:32:00 2014 +0100
>>
>>        ath: ath9k: use debugfs_create_devm_seqfile() helper for seq_file
>>    entries
>>
>>        Use the helper to get rid of the file operations per debugfs file.
>>    The
>>        struct ath9k_softc pointer is set as device driver data to be
>>    obtained
>>        in the seq_file read operation.
>>
>>        Signed-off-by: Arend van Spriel<[email-masked]>
>>        Signed-off-by: Greg Kroah-Hartman<[email-masked]>
>>
>> Let me know if I can do anything else to help.
>>
>> --
>> - Jeremiah Mahler
>
> I took a look at the patch that is causing this problem (d32394fae95).
> My config negates everything in the patch except for a one line change
> to ath9k/pci.c.  If I remove this change (shown below) the problem goes
> away.

Ok. But then it will likely crash when you cat one of the changed 
debugfs files. Guess this commit needs to be reverted entirely.

Regards,
Arend

> diff --git a/drivers/net/wireless/ath/ath9k/pci.c
> b/drivers/net/wireless/ath/ath9k/pci.c
> index 90c9e3c..c018dea 100644
> --- a/drivers/net/wireless/ath/ath9k/pci.c
> +++ b/drivers/net/wireless/ath/ath9k/pci.c
> @@ -856,7 +856,6 @@ static int ath_pci_probe(struct pci_dev *pdev, const
> struct pci_device_id *id)
>          sc = hw->priv;
>          sc->hw = hw;
>          sc->dev =&pdev->dev;
> -       dev_set_drvdata(sc->dev, sc);
>          sc->mem = pcim_iomap_table(pdev)[0];
>          sc->driver_data = id->driver_data;
>