On 03.05.2020 00:42, Lauri Jakku wrote:
> Hi,
> 
> 
> 
> On 2.5.2020 20.56, Lauri Jakku wrote:
>> Hi,
>>
>> On 1.5.2020 22.12, Lauri Jakku wrote:
>>> Hi,
>>>
>>>
>>> On 19.4.2020 19.00, Heiner Kallweit wrote:
>>>> On 19.04.2020 18:49, Lauri Jakku wrote:
>>>>> Hi,
>>>>>
>>>>> On 19.4.2020 18.09, Lauri Jakku wrote:
>>>>>> Hi,
>>>>>>
>>>>>> On 18.4.2020 21.46, Lauri Jakku wrote:
>>>>>>
>>>>>>> Hi,
>>>>>>>
>>>>>>> On 18.4.2020 14.06, Lauri Jakku wrote:
>>>>>>>> Hi,
>>>>>>>>
>>>>>>>> On 17.4.2020 10.30, Lauri Jakku wrote:
>>>>>>>>> Hi,
>>>>>>>>>
>>>>>>>>> On 17.4.2020 9.23, Lauri Jakku wrote:
>>>>>>>>>> On 16.4.2020 23.50, Heiner Kallweit wrote:
>>>>>>>>>>> On 16.04.2020 22:38, Lauri Jakku wrote:
>>>>>>>>>>>> Hi
>>>>>>>>>>>>
>>>>>>>>>>>> On 16.4.2020 23.10, Lauri Jakku wrote:
>>>>>>>>>>>>> On 16.4.2020 23.02, Heiner Kallweit wrote:
>>>>>>>>>>>>>> On 16.04.2020 21:58, Lauri Jakku wrote:
>>>>>>>>>>>>>>> Hi,
>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>> On 16.4.2020 21.37, Lauri Jakku wrote:
>>>>>>>>>>>>>>>> Hi,
>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>> On 16.4.2020 21.26, Heiner Kallweit wrote:
>>>>>>>>>>>>>>>>> On 16.04.2020 13:30, Lauri Jakku wrote:
>>>>>>>>>>>>>>>>>> Hi,
>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>> 5.6.3-2-MANJARO: stock manjaro kernel, without modifications 
>>>>>>>>>>>>>>>>>> --> network does not work
>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>> 5.6.3-2-MANJARO-lja: No attach check, modified kernel (r8169 
>>>>>>>>>>>>>>>>>> mods only) --> network does not work
>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>> 5.6.3-2-MANJARO-with-the-r8169-patch: phy patched + r8169 
>>>>>>>>>>>>>>>>>> mods -> devices show up ok, network works
>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>> All different initcpio's have realtek.ko in them.
>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>> Thanks for the logs. Based on the logs you're presumable 
>>>>>>>>>>>>>>>>> affected by a known BIOS bug.
>>>>>>>>>>>>>>>>> Check bug tickets 202275 and 207203 at bugzilla.kernel.org.
>>>>>>>>>>>>>>>>> In the first referenced tickets it's about the same mainboard 
>>>>>>>>>>>>>>>>> (with earlier BIOS version).
>>>>>>>>>>>>>>>>> BIOS on this mainboard seems to not initialize the network 
>>>>>>>>>>>>>>>>> chip / PHY correctly, it reports
>>>>>>>>>>>>>>>>> a random number as PHY ID, resulting in no PHY driver being 
>>>>>>>>>>>>>>>>> found.
>>>>>>>>>>>>>>>>> Enable "Onboard LAN Boot ROM" in the BIOS, and your problem 
>>>>>>>>>>>>>>>>> should be gone.
>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>> OK, I try that, thank you :)
>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>> It seems that i DO have the ROM's enabled, i'm now testing some 
>>>>>>>>>>>>>>> mutex guard for phy state and try to use it as indicator
>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>> that attach has been done. One thing i've noticed is that 
>>>>>>>>>>>>>>> driver needs to be reloaded to allow traffic (ie. ping works 
>>>>>>>>>>>>>>> etc.)
>>>>>>>>>>>>>>>
>>>>>>>>>>>>>> All that shouldn't be needed. Just check with which PHY ID the 
>>>>>>>>>>>>>> PHY comes up.
>>>>>>>>>>>>>> And what do you mean with "it seems"? Is the option enabled or 
>>>>>>>>>>>>>> not?
>>>>>>>>>>>>>>
>>>>>>>>>>>>> I do have ROM's enabled, and it does not help with my issue.
>>>>>>>>>>> Your BIOS is a beta version, downgrading to F7 may help. Then you 
>>>>>>>>>>> have the same
>>>>>>>>>>> mainboard + BIOS as the user who opened bug ticket 202275.
>>>>>>>>>>>
>>>>>>>>>> huhti 17 09:01:49 MinistryOfSillyWalk kernel: r8169 0000:03:00.0: 
>>>>>>>>>> PHY version: 0xc2077002
>>>>>>>>>> huhti 17 09:01:49 MinistryOfSillyWalk kernel: r8169 0000:03:00.0: 
>>>>>>>>>> MAC version: 23
>>>>>>>>>>
>>>>>>>>>> ....
>>>>>>>>>>
>>>>>>>>>> huhti 17 09:03:29 MinistryOfSillyWalk kernel: r8169 0000:02:00.0: 
>>>>>>>>>> PHY version: 0x1cc912
>>>>>>>>>>
>>>>>>>>>> huhti 17 09:03:29 MinistryOfSillyWalk kernel: r8169 0000:02:00.0: 
>>>>>>>>>> MAC version: 23
>>>>>>>>>>
>>>>>>>>>> .. after module unload & load cycle:
>>>>>>>>>>
>>>>>>>>>> huhti 17 09:17:35 MinistryOfSillyWalk kernel: r8169 0000:02:00.0: 
>>>>>>>>>> PHY version: 0x1cc912
>>>>>>>>>> huhti 17 09:17:35 MinistryOfSillyWalk kernel: r8169 0000:02:00.0: 
>>>>>>>>>> MAC version: 23
>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>> it seem to be the case that the phy_id chances onetime, then stays 
>>>>>>>>>> the same. I'll do few shutdowns and see
>>>>>>>>>>
>>>>>>>>>> is there a pattern at all .. next i'm going to try how it behaves, 
>>>>>>>>>> if i read mac/phy versions twice on MAC version 23.
>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>> The BIOS downgrade: I'd like to solve this without downgrading BIOS. 
>>>>>>>>>> If I can't, then I'll do systemd-service that
>>>>>>>>>>
>>>>>>>>>> reloads r8169 driver at boot, cause then network is just fine.
>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>> What i've gathered samples now, there is three values for PHY ID:
>>>>>>>>>
>>>>>>>>> [sillyme@MinistryOfSillyWalk KernelStuff]$ sudo journalctl |grep "PHY 
>>>>>>>>> ver"
>>>>>>>>> huhti 17 09:01:49 MinistryOfSillyWalk kernel: r8169 0000:02:00.0: PHY 
>>>>>>>>> version: 0xc2077002
>>>>>>>>> huhti 17 09:01:49 MinistryOfSillyWalk kernel: r8169 0000:03:00.0: PHY 
>>>>>>>>> version: 0xc2077002
>>>>>>>>> huhti 17 09:03:29 MinistryOfSillyWalk kernel: r8169 0000:02:00.0: PHY 
>>>>>>>>> version: 0x1cc912
>>>>>>>>> huhti 17 09:03:29 MinistryOfSillyWalk kernel: r8169 0000:03:00.0: PHY 
>>>>>>>>> version: 0x1cc912
>>>>>>>>> huhti 17 09:17:35 MinistryOfSillyWalk kernel: r8169 0000:02:00.0: PHY 
>>>>>>>>> version: 0x1cc912
>>>>>>>>> huhti 17 09:17:35 MinistryOfSillyWalk kernel: r8169 0000:03:00.0: PHY 
>>>>>>>>> version: 0x1cc912
>>>>>>>>> huhti 17 09:24:53 MinistryOfSillyWalk kernel: r8169 0000:02:00.0: PHY 
>>>>>>>>> version: 0xc1071002
>>>>>>>>> huhti 17 09:24:53 MinistryOfSillyWalk kernel: r8169 0000:03:00.0: PHY 
>>>>>>>>> version: 0xc1071002
>>>>>>>>> huhti 17 09:27:59 MinistryOfSillyWalk kernel: r8169 0000:02:00.0: PHY 
>>>>>>>>> version: 0x1cc912
>>>>>>>>> huhti 17 09:27:59 MinistryOfSillyWalk kernel: r8169 0000:03:00.0: PHY 
>>>>>>>>> version: 0x1cc912
>>>>>>>>> huhti 17 10:08:42 MinistryOfSillyWalk kernel: r8169 0000:02:00.0: PHY 
>>>>>>>>> version: 0xc1071002
>>>>>>>>> huhti 17 10:08:42 MinistryOfSillyWalk kernel: r8169 0000:03:00.0: PHY 
>>>>>>>>> version: 0xc1071002
>>>>>>>>> huhti 17 10:12:07 MinistryOfSillyWalk kernel: r8169 0000:02:00.0: PHY 
>>>>>>>>> version: 0x1cc912
>>>>>>>>> huhti 17 10:12:07 MinistryOfSillyWalk kernel: r8169 0000:03:00.0: PHY 
>>>>>>>>> version: 0x1cc912
>>>>>>>>> huhti 17 10:20:35 MinistryOfSillyWalk kernel: r8169 0000:02:00.0: PHY 
>>>>>>>>> version: 0xc1071002
>>>>>>>>> huhti 17 10:20:35 MinistryOfSillyWalk kernel: r8169 0000:03:00.0: PHY 
>>>>>>>>> version: 0xc1071002
>>>>>>>>> huhti 17 10:23:46 MinistryOfSillyWalk kernel: r8169 0000:02:00.0: PHY 
>>>>>>>>> version: 0x1cc912
>>>>>>>>> huhti 17 10:23:46 MinistryOfSillyWalk kernel: r8169 0000:03:00.0: PHY 
>>>>>>>>> version: 0x1cc912
>>>>>>>>>
>>>>>>>>> I dont know are those hard coded or what, and are they device 
>>>>>>>>> specific how much.
>>>>>>>>>
>>>>>>>>> i haven't coldbooted things up, that may be that something to check 
>>>>>>>>> do they vary how per coldboot.
>>>>>>>>>
>>>>>>>>>>>> I check the ID, and revert all other changes, and check how it is 
>>>>>>>>>>>> working after adding the PHY id to list.
>>>>>>>>>>>>
>>>>>>>> What i've now learned: the patch + script + journald services -> 
>>>>>>>> Results working network, but it is still a workaround.
>>>>>>>>
>>>>>>> Following patch trusts the MAC version, another thing witch could help 
>>>>>>> is to derive method to do 2dn pass of the probeing:
>>>>>>>
>>>>>>> if specific MAC version is found.
>>>>>>>
>>>>>>> diff --git a/drivers/net/ethernet/realtek/r8169_main.c 
>>>>>>> b/drivers/net/ethernet/realtek/r8169_main.c
>>>>>>> index acd122a88d4a..62b37a1abc24 100644
>>>>>>> --- a/drivers/net/ethernet/realtek/r8169_main.c
>>>>>>> +++ b/drivers/net/ethernet/realtek/r8169_main.c
>>>>>>> @@ -5172,13 +5172,18 @@ static int r8169_mdio_register(struct 
>>>>>>> rtl8169_private *tp)
>>>>>>>          if (!tp->phydev) {
>>>>>>>                  mdiobus_unregister(new_bus);
>>>>>>>                  return -ENODEV;
>>>>>>> -       } else if (tp->mac_version == RTL_GIGA_MAC_NONE) {
>>>>>>> -               /* Most chip versions fail with the genphy driver.
>>>>>>> -                * Therefore ensure that the dedicated PHY driver is 
>>>>>>> loaded.
>>>>>>> -                */
>>>>>>> -               dev_err(&pdev->dev, "Not known MAC version.\n");
>>>>>>> -               mdiobus_unregister(new_bus);
>>>>>>> -               return -EUNATCH;
>>>>>>> +       } else {
>>>>>>> +               dev_info(&pdev->dev, "PHY version: 0x%x\n", 
>>>>>>> tp->phydev->phy_id);
>>>>>>> +               dev_info(&pdev->dev, "MAC version: %d\n", 
>>>>>>> tp->mac_version);
>>>>>>> +
>>>>>>> +               if (tp->mac_version == RTL_GIGA_MAC_NONE) {
>>>>>>> +                       /* Most chip versions fail with the genphy 
>>>>>>> driver.
>>>>>>> +                        * Therefore ensure that the dedicated PHY 
>>>>>>> driver is loaded.
>>>>>>> +                        */
>>>>>>> +                       dev_err(&pdev->dev, "Not known MAC/PHY 
>>>>>>> version.\n", tp->phydev->phy_id);
>>>>>>> +                       mdiobus_unregister(new_bus);
>>>>>>> +                       return -EUNATCH;
>>>>>>> +               }
>>>>>>>          }
>>>>>>>
>>>>>>>          /* PHY will be woken up in rtl_open() */
>>>>>>>
>>>>>> I just got bleeding edge 5.7.0-1 kernel compiled + firmware's updated.. 
>>>>>> and  now up'n'running. There is one (WARN_ONCE) stack trace coming from 
>>>>>> driver, i think i tinker with it next, with above patch the network 
>>>>>> devices shows up and they can be configured.
>>>>>>
>>>>> I tought to ask first, before going to make new probe_type for errorneus 
>>>>> hw (propetype + retry counter) to do re-probe if requested, N times. Or 
>>>>> should the r8169_main.c return deferred probe on error on some MAC enums 
>>>>> ? Which approach is design-wise sound ?
>>>>>
>>>>> I just tought that the DEFERRED probe may just do the trick i'm looking 
>>>>> ways to implement the re-probeing... hmm. I try the deferred thing and 
>>>>> check would that help.
>>>>>
>>>> Playing with options to work around the issue is of course a great way to
>>>> learn about the kernel. However it's questionable whether a workaround in
>>>> the driver is acceptable for dealing with the broken BIOS of exactly one
>>>>> 10 yrs old board (for which even a userspace workaround exists).
>>>
>>> problem recognized: libphy-module get's unloaded for some reason before 
>>> r8169 driver loads -> missing lowlevel functionality -> not working driver. 
>>> This only occurs at 1st load of module.. seeking solution.
>>>
>>>
>>> There is [last unloaded: libphy] entries in log BEFORE r8169 is probed 
>>> first time.
>>>
>>>
>>> Any clue what is responsible for unloading to occur ?
>>>
>>>
>> Right now I'm debugging what is the reason, behind that the module starts to 
>> work properly only when
>>
>> unload & reload cycle is done.
>>
>>
>> The libphy is listed as loaded, but the check for low level read/write 
>> function is not set -> r8169 modules rlt_open() fails.
>>
>> See here:
>>
>> touko 02 20:40:04 MinistryOfSillyWalk kernel: ------------[ cut here 
>> ]------------
>> touko 02 20:40:04 MinistryOfSillyWalk kernel: read_page callback not 
>> available, PHY driver not loaded?
>> touko 02 20:40:04 MinistryOfSillyWalk kernel: WARNING: CPU: 3 PID: 787 at 
>> drivers/net/phy/phy-core.c:750 phy_save_page+0xb1/0xe3 [libph
>> y]
>> touko 02 20:40:04 MinistryOfSillyWalk kernel: Modules linked in: cmac 
>> algif_hash algif_skcipher af_alg bnep btusb btrtl btbcm btintel b
>> luetooth ecdh_generic rfkill ecc uvcvideo videobuf2_vmalloc videobuf2_memops 
>> snd_usb_audio videobuf2_v4l2 videobuf2_common snd_usbmidi_
>> lib videodev snd_rawmidi snd_seq_device mc input_leds joydev mousedev 
>> squashfs loop amdgpu snd_hda_codec_realtek gpu_sched i2c_algo_bit
>>  ttm snd_hda_codec_generic drm_kms_helper edac_mce_amd ledtrig_audio cec 
>> rc_core kvm_amd drm ccp snd_hda_codec_hdmi agpgart rng_core kv
>> m snd_hda_intel syscopyarea sysfillrect ppdev sysimgblt snd_intel_dspcfg 
>> fb_sys_fops snd_hda_codec snd_hda_core snd_hwdep irqbypass wmi
>> _bmof snd_pcm snd_timer snd evdev pcspkr soundcore parport_pc parport 
>> sp5100_tco mac_hid i2c_piix4 k10temp acpi_cpufreq uinput crypto_u
>> ser ip_tables x_tables hid_generic usbhid hid ohci_pci virtio_net 
>> net_failover failover firewire_ohci firewire_core crc_itu_t pata_atii
>> xp ehci_pci ehci_hcd sr_mod cdrom ohci_hcd ata_generic pata_acpi 
>> pata_jmicron wmi floppy
>> touko 02 20:40:04 MinistryOfSillyWalk kernel:  r8169 realtek libphy
>> touko 02 20:40:04 MinistryOfSillyWalk kernel: CPU: 3 PID: 787 Comm: 
>> NetworkManager Not tainted 5.7.0-1-raw #12
>> touko 02 20:40:04 MinistryOfSillyWalk kernel: Hardware name: Gigabyte 
>> Technology Co., Ltd. GA-MA790FXT-UD5P/GA-MA790FXT-UD5P, BIOS F8l 07/15/2010
>> touko 02 20:40:04 MinistryOfSillyWalk kernel: RIP: 
>> 0010:phy_save_page+0xb1/0xe3 [libphy]
>> touko 02 20:40:04 MinistryOfSillyWalk kernel: Code: c8 82 11 c0 e8 06 28 ff 
>> cc 85 db 74 47 48 8b 85 48 03 00 00 48 83 b8 68 01 00 00 00 75 10 48 c7 c7 
>> e8 82 11 c0 e8 a9 dd f7 cc <0f> 0b eb 26 48 c7 c7 52 78 11 c0 e8 99 dd f7 cc 
>> 0f 0b 48 8b 85 48
>> touko 02 20:40:04 MinistryOfSillyWalk kernel: RSP: 0018:ffff962c408ef370 
>> EFLAGS: 00010282
>> touko 02 20:40:04 MinistryOfSillyWalk kernel: RAX: 0000000000000000 RBX: 
>> 0000000000000001 RCX: 0000000000000000
>> touko 02 20:40:04 MinistryOfSillyWalk kernel: RDX: 0000000000000001 RSI: 
>> 0000000000000092 RDI: 00000000ffffffff
>> touko 02 20:40:05 MinistryOfSillyWalk kernel: RBP: ffff8b1af3eb8800 R08: 
>> 00000000000004b3 R09: 0000000000000004
>> touko 02 20:40:05 MinistryOfSillyWalk kernel: R10: 0000000000000000 R11: 
>> 0000000000000001 R12: 00000000ffffffa1
>> touko 02 20:40:05 MinistryOfSillyWalk kernel: R13: 0000000000000002 R14: 
>> 0000000000000002 R15: ffff8b1af3eb8800
>> touko 02 20:40:05 MinistryOfSillyWalk kernel: FS: 00007f07be5d4d80(0000) 
>> GS:ffff8b1af7cc0000(0000) knlGS:0000000000000000
>> touko 02 20:40:05 MinistryOfSillyWalk kernel: CS:  0010 DS: 0000 ES: 0000 
>> CR0: 0000000080050033
>> touko 02 20:40:05 MinistryOfSillyWalk kernel: CR2: 000055b83aecb008 CR3: 
>> 00000002246b0000 CR4: 00000000000006e0
>> touko 02 20:40:05 MinistryOfSillyWalk kernel: Call Trace:
>> touko 02 20:40:05 MinistryOfSillyWalk kernel: phy_select_page+0x53/0x7a 
>> [libphy]
>> touko 02 20:40:05 MinistryOfSillyWalk kernel: phy_write_paged+0x5c/0xa0 
>> [libphy]
>> touko 02 20:40:05 MinistryOfSillyWalk kernel: 
>> rtl8168d_1_hw_phy_config+0x9d/0x210 [r8169]
>> touko 02 20:40:05 MinistryOfSillyWalk kernel: rtl8169_init_phy+0x19/0x110 
>> [r8169]
>> touko 02 20:40:05 MinistryOfSillyWalk kernel: rtl_open+0x354/0x4d0 [r8169]
>> touko 02 20:40:05 MinistryOfSillyWalk kernel: __dev_open+0xe0/0x170
>> touko 02 20:40:05 MinistryOfSillyWalk kernel: __dev_change_flags+0x188/0x1e0
>> touko 02 20:40:05 MinistryOfSillyWalk kernel: dev_change_flags+0x21/0x60
>> touko 02 20:40:05 MinistryOfSillyWalk kernel: do_setlink+0x78a/0xfd0
>>
>>
>> Something does not setup/register properly at first the way it should.
>>
>>
> 
> I think i solved it: realtek (the phy driver) was missing device entry for 
> the PHY ID reported by the NIC to match -> read_page and write_page function 
> pointers should now be set. The generic PHY does not fill
> 
> the driver's functionality to read or write pages. It happens to be so that 
> the drivers for |RTL8211B Gigabit Ethernet seems to work just fine for my 
> NIC's.

The analysis is wrong. The incorrect PHY ID is not root cause of the
problem, it's caused by a BIOS bug. It's not a valid PHY ID. If you want
to do something, then you could try to inject a PHY soft reset before
the MII bus is registered. This should be board-specific, e.g. using
dmi_check_system().

> |
> 
> |
> |
> 
> |I've documented current state to Manjaro's forum: 
> https://forum.manjaro.org/t/your-post-in-r8168-kernel-5-6-3-driver-broken/139869/3
>  .. after i cleanup debugs away and do speedtests. Could the fix be something 
> to considerate to upstream ?|
> 
> |
> |
> 
> |The fix I'm proposing is not the reload hack, but just kernel modifications. 
> |
> 
> 
>>>>>>>>>>>>>>>>>> The problem with old method seems to be, that device does 
>>>>>>>>>>>>>>>>>> not have had time to attach before the
>>>>>>>>>>>>>>>>>> PHY driver check.
>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>> The patch:
>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>> diff --git a/drivers/net/ethernet/realtek/r8169_main.c 
>>>>>>>>>>>>>>>>>> b/drivers/net/ethernet/realtek/r8169_main.c
>>>>>>>>>>>>>>>>>> index bf5bf05970a2..acd122a88d4a 100644
>>>>>>>>>>>>>>>>>> --- a/drivers/net/ethernet/realtek/r8169_main.c
>>>>>>>>>>>>>>>>>> +++ b/drivers/net/ethernet/realtek/r8169_main.c
>>>>>>>>>>>>>>>>>> @@ -5172,11 +5172,11 @@ static int 
>>>>>>>>>>>>>>>>>> r8169_mdio_register(struct rtl8169_private *tp)
>>>>>>>>>>>>>>>>>>             if (!tp->phydev) {
>>>>>>>>>>>>>>>>>> mdiobus_unregister(new_bus);
>>>>>>>>>>>>>>>>>>                     return -ENODEV;
>>>>>>>>>>>>>>>>>> -       } else if (!tp->phydev->drv) {
>>>>>>>>>>>>>>>>>> +       } else if (tp->mac_version == RTL_GIGA_MAC_NONE) {
>>>>>>>>>>>>>>>>>>                     /* Most chip versions fail with the 
>>>>>>>>>>>>>>>>>> genphy driver.
>>>>>>>>>>>>>>>>>>                      * Therefore ensure that the dedicated 
>>>>>>>>>>>>>>>>>> PHY driver is loaded.
>>>>>>>>>>>>>>>>>>                      */
>>>>>>>>>>>>>>>>>> - dev_err(&pdev->dev, "realtek.ko not loaded, maybe it needs 
>>>>>>>>>>>>>>>>>> to be added to initramfs?\n");
>>>>>>>>>>>>>>>>>> + dev_err(&pdev->dev, "Not known MAC version.\n");
>>>>>>>>>>>>>>>>>> mdiobus_unregister(new_bus);
>>>>>>>>>>>>>>>>>>                     return -EUNATCH;
>>>>>>>>>>>>>>>>>>             }
>>>>>>>>>>>>>>>>>> diff --git a/drivers/net/phy/phy-core.c 
>>>>>>>>>>>>>>>>>> b/drivers/net/phy/phy-core.c
>>>>>>>>>>>>>>>>>> index 66b8c61ca74c..aba2b304b821 100644
>>>>>>>>>>>>>>>>>> --- a/drivers/net/phy/phy-core.c
>>>>>>>>>>>>>>>>>> +++ b/drivers/net/phy/phy-core.c
>>>>>>>>>>>>>>>>>> @@ -704,6 +704,10 @@ EXPORT_SYMBOL_GPL(phy_modify_mmd);
>>>>>>>>>>>>>>>>>>        static int __phy_read_page(struct phy_device *phydev)
>>>>>>>>>>>>>>>>>>      {
>>>>>>>>>>>>>>>>>> +       /* If not attached, do nothing (no warning) */
>>>>>>>>>>>>>>>>>> +       if (!phydev->attached_dev)
>>>>>>>>>>>>>>>>>> +               return -EOPNOTSUPP;
>>>>>>>>>>>>>>>>>> +
>>>>>>>>>>>>>>>>>>             if (WARN_ONCE(!phydev->drv->read_page, 
>>>>>>>>>>>>>>>>>> "read_page callback not available, PHY driver not 
>>>>>>>>>>>>>>>>>> loaded?\n"))
>>>>>>>>>>>>>>>>>>                     return -EOPNOTSUPP;
>>>>>>>>>>>>>>>>>>      @@ -712,12 +716,17 @@ static int __phy_read_page(struct 
>>>>>>>>>>>>>>>>>> phy_device *phydev)
>>>>>>>>>>>>>>>>>>        static int __phy_write_page(struct phy_device 
>>>>>>>>>>>>>>>>>> *phydev, int page)
>>>>>>>>>>>>>>>>>>      {
>>>>>>>>>>>>>>>>>> +       /* If not attached, do nothing (no warning) */
>>>>>>>>>>>>>>>>>> +       if (!phydev->attached_dev)
>>>>>>>>>>>>>>>>>> +               return -EOPNOTSUPP;
>>>>>>>>>>>>>>>>>> +
>>>>>>>>>>>>>>>>>>             if (WARN_ONCE(!phydev->drv->write_page, 
>>>>>>>>>>>>>>>>>> "write_page callback not available, PHY driver not 
>>>>>>>>>>>>>>>>>> loaded?\n"))
>>>>>>>>>>>>>>>>>>                     return -EOPNOTSUPP;
>>>>>>>>>>>>>>>>>>               return phydev->drv->write_page(phydev, page);
>>>>>>>>>>>>>>>>>>      }
>>>>>>>>>>>>>>>>>>      +
>>>>>>>>>>>>>>>>>>      /**
>>>>>>>>>>>>>>>>>>       * phy_save_page() - take the bus lock and save the 
>>>>>>>>>>>>>>>>>> current page
>>>>>>>>>>>>>>>>>>       * @phydev: a pointer to a &struct phy_device
>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>> 15. huhtik. 2020, 19.18, Heiner Kallweit 
>>>>>>>>>>>>>>>>>> <hkallwe...@gmail.com <mailto:hkallwe...@gmail.com>> 
>>>>>>>>>>>>>>>>>> kirjoitti:
>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>         On 15.04.2020 16:39, Lauri Jakku wrote:
>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>             Hi, There seems to he Something odd problem, 
>>>>>>>>>>>>>>>>>> maybe timing related. Stripped version not workingas 
>>>>>>>>>>>>>>>>>> expected. I get back to you, when i have it working.
>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>         There's no point in working on your patch. W/o 
>>>>>>>>>>>>>>>>>> proper justification it
>>>>>>>>>>>>>>>>>>         isn't acceptable anyway. And so far we still don't 
>>>>>>>>>>>>>>>>>> know which problem
>>>>>>>>>>>>>>>>>>         you actually have.
>>>>>>>>>>>>>>>>>>         FIRST please provide the requested logs and explain 
>>>>>>>>>>>>>>>>>> the actual problem
>>>>>>>>>>>>>>>>>>         (incl. the commit that caused the regression).
>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>             13. huhtik. 2020, 14.46, Lauri Jakku 
>>>>>>>>>>>>>>>>>> <ljakk...@gmail.com <mailto:ljakk...@gmail.com>> kirjoitti: 
>>>>>>>>>>>>>>>>>> Hi, Fair enough, i'll strip them. -lja On 2020-04-13 14:34, 
>>>>>>>>>>>>>>>>>> Leon Romanovsky wrote:
>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>             On Mon, Apr 13, 2020 at 02:02:01PM +0300, Lauri 
>>>>>>>>>>>>>>>>>> Jakku wrote: Hi, Comments inline. On 2020-04-13 13:58, Leon 
>>>>>>>>>>>>>>>>>> Romanovsky wrote: On Mon, Apr 13, 2020 at 01:30:13PM +0300, 
>>>>>>>>>>>>>>>>>> Lauri Jakku wrote: From 
>>>>>>>>>>>>>>>>>> 2d41edd4e6455187094f3a13d58c46eeee35aa31 Mon Sep 17 00:00:00 
>>>>>>>>>>>>>>>>>> 2001 From: Lauri Jakku <l...@iki.fi> Date: Mon, 13 Apr 2020 
>>>>>>>>>>>>>>>>>> 13:18:35 +0300 Subject: [PATCH] NET: r8168/r8169 identifying 
>>>>>>>>>>>>>>>>>> fix The driver installation determination made properly by 
>>>>>>>>>>>>>>>>>> checking PHY vs DRIVER id's. --- 
>>>>>>>>>>>>>>>>>> drivers/net/ethernet/realtek/r8169_main.c | 70 
>>>>>>>>>>>>>>>>>> ++++++++++++++++++++--- drivers/net/phy/mdio_bus.c | 11 +++- 
>>>>>>>>>>>>>>>>>> 2 files changed, 72 insertions(+), 9 deletions(-) I would 
>>>>>>>>>>>>>>>>>> say that most of the code is debug prints. I tought that 
>>>>>>>>>>>>>>>>>> they are helpful to keep, they are using the debug calls, so 
>>>>>>>>>>>>>>>>>> they are not visible if user does not like those. You are 
>>>>>>>>>>>>>>>>>> missing the point of who are your users. Users want to have 
>>>>>>>>>>>>>>>>>> working device and the code. They don't need or like to 
>>>>>>>>>>>>>>>>>> debug their kernel. Thanks
>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>

Reply via email to