[haiku-bugs] Re: [Haiku] #9807: RealTek RTL8111 listed but does not work

  • From: "korli" <trac@xxxxxxxxxxxx>
  • Date: Wed, 10 Jul 2013 21:31:26 -0000

#9807: RealTek RTL8111 listed but does not work
---------------------------------------+----------------------------
   Reporter:  ttcoder                  |      Owner:  nobody
       Type:  bug                      |     Status:  new
   Priority:  normal                   |  Milestone:  R1
  Component:  Drivers/Network/rtl81xx  |    Version:  R1/Development
 Resolution:                           |   Keywords:
 Blocked By:                           |   Blocking:
Has a Patch:  0                        |   Platform:  All
---------------------------------------+----------------------------

Comment (by korli):

 Could you have a try with hrev45842?

 It's possible it doesn't work. In this case please try the following
 additional patch.

 {{{
 diff --git a/src/add-ons/kernel/bus_managers/pci/arch/x86/pci_msi.cpp
 b/src/add-ons/kernel/bus_managers/pci/arch/x86/pci_msi.cpp
 index e87e852..f246001 100644
 --- a/src/add-ons/kernel/bus_managers/pci/arch/x86/pci_msi.cpp
 +++ b/src/add-ons/kernel/bus_managers/pci/arch/x86/pci_msi.cpp
 @@ -219,7 +219,7 @@ pci_enable_msi(uint8 virtualBus, uint8 _device, uint8
 function)
                 info->control_value);

         // enable HT msi mapping (if applicable)
 -       pci_ht_msi_map(device, info->address_value);
 +       pci_ht_msi_map(device->parent->parent, info->address_value);

         dprintf("msi enabled: 0x%04" B_PRIx32 "\n",
                 gPCI->ReadConfig(device, info->capability_offset +
 PCI_msi_control, 2));
 @@ -251,7 +251,7 @@ pci_disable_msi(uint8 virtualBus, uint8 _device, uint8
 function)
                 return B_NO_INIT;

         // disable HT msi mapping (if applicable)
 -       pci_ht_msi_map(device, 0);
 +       pci_ht_msi_map(device->parent->parent, 0);

         // disable msi generation
         info->control_value &= ~PCI_msi_control_enable;
 @@ -484,7 +484,7 @@ pci_enable_msix(uint8 virtualBus, uint8 _device, uint8
 function)
                 info->control_value);

         // enable HT msi mapping (if applicable)
 -       pci_ht_msi_map(device, info->address_value);
 +       pci_ht_msi_map(device->parent->parent, info->address_value);

         dprintf("msi-x enabled: 0x%04" B_PRIx32 "\n",
                 gPCI->ReadConfig(device, info->capability_offset +
 PCI_msix_control, 2));
 @@ -516,7 +516,7 @@ pci_disable_msix(uint8 virtualBus, uint8 _device,
 uint8 function)
                 return B_NO_INIT;

         // disable HT msi mapping (if applicable)
 -       pci_ht_msi_map(device, 0);
 +       pci_ht_msi_map(device->parent->parent, 0);

         // disable msi-x generation
         info->control_value &= ~PCI_msix_control_enable;
 }}}

--
Ticket URL: <http://dev.haiku-os.org/ticket/9807#comment:16>
Haiku <http://dev.haiku-os.org>
Haiku - the operating system.

Other related posts: