[haiku-commits] haiku: hrev50813 - in src/add-ons/kernel/drivers/network/ipro1000/dev/e1000: . src/add-ons/kernel/drivers/network/ipro1000 src

  • From: pulkomandy@xxxxxxxxxxxxx
  • To: haiku-commits@xxxxxxxxxxxxx
  • Date: Sun, 1 Jan 2017 11:27:09 +0100 (CET)

hrev50813 adds 4 changesets to branch 'master'
old head: a5be1832cc9f29a230e587c77793e624ec4fbd2a
new head: 80d8697c0ec83093b2552c90a9c947189245f51f
overview: 
http://cgit.haiku-os.org/haiku/log/?qt=range&q=80d8697c0ec8+%5Ea5be1832cc9f

----------------------------------------------------------------------------

e32c64c11305: #11963: Add missing PCI IDs to ipro1000
  
  Signed-off-by: Adrien Destugues <pulkomandy@xxxxxxxxxxxxx>

                                   [ Mictlantecuhtli <mict014@xxxxxxxxxxx> ]

6e02aa9d1ce5: NotificationWindow: fix memory leak
  
  Thanks to mt for analysis of the problem. Fixed in a different way from
  the original patch.
  
  Fixes #13135.

                             [ Adrien Destugues <pulkomandy@xxxxxxxxxxxxx> ]

dfe2eac4c655: RemoteMessage.cpp: fix memory leak
  
  Signed-off-by: Adrien Destugues <pulkomandy@xxxxxxxxxxxxx>
  
  Fixes #13134

                                      [ Murai Takashi <tmurai01@xxxxxxxxx> ]

80d8697c0ec8: DeskbarMenu.cpp: fix memory leak
  
  Signed-off-by: Adrien Destugues <pulkomandy@xxxxxxxxxxxxx>
  
  Fixes #13133

                                      [ Murai Takashi <tmurai01@xxxxxxxxx> ]

----------------------------------------------------------------------------

8 files changed, 213 insertions(+), 4 deletions(-)
.../network/ipro1000/dev/e1000/e1000_api.c       |   4 +
.../network/ipro1000/dev/e1000/e1000_hw.h        |   4 +
.../network/ipro1000/dev/e1000/e1000_ich8lan.c   |   4 +
.../drivers/network/ipro1000/dev/e1000/if_em.c   |  92 +++++++++++++++++
.../kernel/drivers/network/ipro1000/driver.c     | 100 +++++++++++++++++++
src/apps/deskbar/DeskbarMenu.cpp                 |   3 +
.../drawing/interface/remote/RemoteMessage.cpp   |   4 +-
src/servers/notification/NotificationWindow.cpp  |   6 +-

############################################################################

Commit:      e32c64c113053d4a3e4cfdb50a8ce64b8c1a60eb
URL:         http://cgit.haiku-os.org/haiku/commit/?id=e32c64c11305
Author:      Mictlantecuhtli <mict014@xxxxxxxxxxx>
Date:        Sat Dec 31 15:38:25 2016 UTC
Committer:   Adrien Destugues <pulkomandy@xxxxxxxxxxxxx>
Commit-Date: Sun Jan  1 10:10:12 2017 UTC

Ticket:      https://dev.haiku-os.org/ticket/11963

#11963: Add missing PCI IDs to ipro1000

Signed-off-by: Adrien Destugues <pulkomandy@xxxxxxxxxxxxx>

----------------------------------------------------------------------------

diff --git a/src/add-ons/kernel/drivers/network/ipro1000/dev/e1000/e1000_api.c 
b/src/add-ons/kernel/drivers/network/ipro1000/dev/e1000/e1000_api.c
index 1581913..d77237e 100644
--- a/src/add-ons/kernel/drivers/network/ipro1000/dev/e1000/e1000_api.c
+++ b/src/add-ons/kernel/drivers/network/ipro1000/dev/e1000/e1000_api.c
@@ -293,6 +293,10 @@ s32 e1000_set_mac_type(struct e1000_hw *hw)
        case E1000_DEV_ID_PCH_LPT_I217_V:
        case E1000_DEV_ID_PCH_LPTLP_I218_LM:
        case E1000_DEV_ID_PCH_LPTLP_I218_V:
+       case E1000_DEV_ID_PCH_I218_LM2:
+       case E1000_DEV_ID_PCH_I218_V2:
+       case E1000_DEV_ID_PCH_I218_LM3:
+       case E1000_DEV_ID_PCH_I218_V3:
                mac->type = e1000_pch_lpt;
                break;
        case E1000_DEV_ID_82575EB_COPPER:
diff --git a/src/add-ons/kernel/drivers/network/ipro1000/dev/e1000/e1000_hw.h 
b/src/add-ons/kernel/drivers/network/ipro1000/dev/e1000/e1000_hw.h
index e8a8c17..99a9c75 100644
--- a/src/add-ons/kernel/drivers/network/ipro1000/dev/e1000/e1000_hw.h
+++ b/src/add-ons/kernel/drivers/network/ipro1000/dev/e1000/e1000_hw.h
@@ -170,6 +170,10 @@ struct e1000_hw;
 #define E1000_DEV_ID_DH89XXCC_SERDES           0x043A
 #define E1000_DEV_ID_DH89XXCC_BACKPLANE                0x043C
 #define E1000_DEV_ID_DH89XXCC_SFP              0x0440
+#define E1000_DEV_ID_PCH_I218_LM2              0x15A0
+#define E1000_DEV_ID_PCH_I218_V2               0x15A1
+#define E1000_DEV_ID_PCH_I218_LM3              0x15A2
+#define E1000_DEV_ID_PCH_I218_V3               0x15A3
 
 #define E1000_REVISION_0       0
 #define E1000_REVISION_1       1
diff --git 
a/src/add-ons/kernel/drivers/network/ipro1000/dev/e1000/e1000_ich8lan.c 
b/src/add-ons/kernel/drivers/network/ipro1000/dev/e1000/e1000_ich8lan.c
index bd94355..65efa07 100644
--- a/src/add-ons/kernel/drivers/network/ipro1000/dev/e1000/e1000_ich8lan.c
+++ b/src/add-ons/kernel/drivers/network/ipro1000/dev/e1000/e1000_ich8lan.c
@@ -1146,6 +1146,8 @@ static s32 e1000_check_for_copper_link_ich8lan(struct 
e1000_hw *hw)
 
        /* Work-around I218 hang issue */
        if ((hw->device_id == E1000_DEV_ID_PCH_LPTLP_I218_LM) ||
+           (hw->device_id == E1000_DEV_ID_PCH_I218_LM3) ||
+           (hw->device_id == E1000_DEV_ID_PCH_I218_V3) ||
            (hw->device_id == E1000_DEV_ID_PCH_LPTLP_I218_V)) {
                ret_val = e1000_k1_workaround_lpt_lp(hw, link);
                if (ret_val)
@@ -4479,6 +4481,8 @@ void e1000_suspend_workarounds_ich8lan(struct e1000_hw 
*hw)
                u16 phy_reg, device_id = hw->device_id;
 
                if ((device_id == E1000_DEV_ID_PCH_LPTLP_I218_LM) ||
+                   (device_id == E1000_DEV_ID_PCH_I218_LM3) ||
+                   (device_id == E1000_DEV_ID_PCH_I218_V3) ||
                    (device_id == E1000_DEV_ID_PCH_LPTLP_I218_V)) {
                        u32 fextnvm6 = E1000_READ_REG(hw, E1000_FEXTNVM6);
 
diff --git a/src/add-ons/kernel/drivers/network/ipro1000/dev/e1000/if_em.c 
b/src/add-ons/kernel/drivers/network/ipro1000/dev/e1000/if_em.c
index 1a53b4a..9cd9763 100644
--- a/src/add-ons/kernel/drivers/network/ipro1000/dev/e1000/if_em.c
+++ b/src/add-ons/kernel/drivers/network/ipro1000/dev/e1000/if_em.c
@@ -116,6 +116,46 @@ char em_driver_version[] = "7.3.8";
 static em_vendor_info_t em_vendor_info_array[] =
 {
        /* Intel(R) PRO/1000 Network Connection */
+       { 0x8086, E1000_DEV_ID_82542,           PCI_ANY_ID, PCI_ANY_ID, 0},
+       { 0x8086, E1000_DEV_ID_82543GC_FIBER,   PCI_ANY_ID, PCI_ANY_ID, 0},
+       { 0x8086, E1000_DEV_ID_82543GC_COPPER,  PCI_ANY_ID, PCI_ANY_ID, 0},
+       { 0x8086, E1000_DEV_ID_82544EI_COPPER,  PCI_ANY_ID, PCI_ANY_ID, 0},
+       { 0x8086, E1000_DEV_ID_82544EI_FIBER,   PCI_ANY_ID, PCI_ANY_ID, 0},
+       { 0x8086, E1000_DEV_ID_82544GC_COPPER,  PCI_ANY_ID, PCI_ANY_ID, 0},
+       { 0x8086, E1000_DEV_ID_82544GC_LOM,     PCI_ANY_ID, PCI_ANY_ID, 0},
+       { 0x8086, E1000_DEV_ID_82540EM,         PCI_ANY_ID, PCI_ANY_ID, 0},
+       { 0x8086, E1000_DEV_ID_82540EM_LOM,     PCI_ANY_ID, PCI_ANY_ID, 0},
+       { 0x8086, E1000_DEV_ID_82540EP_LOM,     PCI_ANY_ID, PCI_ANY_ID, 0},
+       { 0x8086, E1000_DEV_ID_82540EP,         PCI_ANY_ID, PCI_ANY_ID, 0},
+       { 0x8086, E1000_DEV_ID_82540EP_LP,      PCI_ANY_ID, PCI_ANY_ID, 0},
+       { 0x8086, E1000_DEV_ID_82545EM_COPPER,  PCI_ANY_ID, PCI_ANY_ID, 0},
+       { 0x8086, E1000_DEV_ID_82545EM_FIBER,   PCI_ANY_ID, PCI_ANY_ID, 0},
+       { 0x8086, E1000_DEV_ID_82545GM_COPPER,  PCI_ANY_ID, PCI_ANY_ID, 0},
+       { 0x8086, E1000_DEV_ID_82545GM_FIBER,   PCI_ANY_ID, PCI_ANY_ID, 0},
+       { 0x8086, E1000_DEV_ID_82545GM_SERDES,  PCI_ANY_ID, PCI_ANY_ID, 0},
+       { 0x8086, E1000_DEV_ID_82546EB_COPPER,  PCI_ANY_ID, PCI_ANY_ID, 0},
+       { 0x8086, E1000_DEV_ID_82546EB_FIBER,   PCI_ANY_ID, PCI_ANY_ID, 0},
+       { 0x8086, E1000_DEV_ID_82546EB_QUAD_COPPER,
+                                               PCI_ANY_ID, PCI_ANY_ID, 0},
+       { 0x8086, E1000_DEV_ID_82546GB_COPPER,  PCI_ANY_ID, PCI_ANY_ID, 0},
+       { 0x8086, E1000_DEV_ID_82546GB_FIBER,   PCI_ANY_ID, PCI_ANY_ID, 0},
+       { 0x8086, E1000_DEV_ID_82546GB_SERDES,  PCI_ANY_ID, PCI_ANY_ID, 0},
+       { 0x8086, E1000_DEV_ID_82546GB_PCIE,    PCI_ANY_ID, PCI_ANY_ID, 0},
+       { 0x8086, E1000_DEV_ID_82546GB_QUAD_COPPER,
+                                               PCI_ANY_ID, PCI_ANY_ID, 0},
+       { 0x8086, E1000_DEV_ID_82546GB_QUAD_COPPER_KSP3,
+                                               PCI_ANY_ID, PCI_ANY_ID, 0},
+       { 0x8086, E1000_DEV_ID_82541EI,         PCI_ANY_ID, PCI_ANY_ID, 0},
+       { 0x8086, E1000_DEV_ID_82541EI_MOBILE,  PCI_ANY_ID, PCI_ANY_ID, 0},
+       { 0x8086, E1000_DEV_ID_82541ER_LOM,     PCI_ANY_ID, PCI_ANY_ID, 0},
+       { 0x8086, E1000_DEV_ID_82541ER,         PCI_ANY_ID, PCI_ANY_ID, 0},
+       { 0x8086, E1000_DEV_ID_82541GI,         PCI_ANY_ID, PCI_ANY_ID, 0},
+       { 0x8086, E1000_DEV_ID_82541GI_LF,      PCI_ANY_ID, PCI_ANY_ID, 0},
+       { 0x8086, E1000_DEV_ID_82541GI_MOBILE,  PCI_ANY_ID, PCI_ANY_ID, 0},
+       { 0x8086, E1000_DEV_ID_82547EI,         PCI_ANY_ID, PCI_ANY_ID, 0},
+       { 0x8086, E1000_DEV_ID_82547EI_MOBILE,  PCI_ANY_ID, PCI_ANY_ID, 0},
+       { 0x8086, E1000_DEV_ID_82547GI,         PCI_ANY_ID, PCI_ANY_ID, 0},
+
        { 0x8086, E1000_DEV_ID_82571EB_COPPER,  PCI_ANY_ID, PCI_ANY_ID, 0},
        { 0x8086, E1000_DEV_ID_82571EB_FIBER,   PCI_ANY_ID, PCI_ANY_ID, 0},
        { 0x8086, E1000_DEV_ID_82571EB_SERDES,  PCI_ANY_ID, PCI_ANY_ID, 0},
@@ -185,6 +225,58 @@ static em_vendor_info_t em_vendor_info_array[] =
                                                PCI_ANY_ID, PCI_ANY_ID, 0},
        { 0x8086, E1000_DEV_ID_PCH_LPTLP_I218_V,
                                                PCI_ANY_ID, PCI_ANY_ID, 0},
+       { 0x8086, E1000_DEV_ID_82576,           PCI_ANY_ID, PCI_ANY_ID, 0},
+       { 0x8086, E1000_DEV_ID_82576_FIBER,     PCI_ANY_ID, PCI_ANY_ID, 0},
+       { 0x8086, E1000_DEV_ID_82576_SERDES,    PCI_ANY_ID, PCI_ANY_ID, 0},
+       { 0x8086, E1000_DEV_ID_82576_QUAD_COPPER,
+                                               PCI_ANY_ID, PCI_ANY_ID, 0},
+       { 0x8086, E1000_DEV_ID_82576_QUAD_COPPER_ET2,
+                                               PCI_ANY_ID, PCI_ANY_ID, 0},
+       { 0x8086, E1000_DEV_ID_82576_NS,        PCI_ANY_ID, PCI_ANY_ID, 0},
+       { 0x8086, E1000_DEV_ID_82576_NS_SERDES, PCI_ANY_ID, PCI_ANY_ID, 0},
+       { 0x8086, E1000_DEV_ID_82576_SERDES_QUAD,
+                                               PCI_ANY_ID, PCI_ANY_ID, 0},
+       { 0x8086, E1000_DEV_ID_82576_VF,        PCI_ANY_ID, PCI_ANY_ID, 0},
+       { 0x8086, E1000_DEV_ID_82576_VF_HV,     PCI_ANY_ID, PCI_ANY_ID, 0},
+       { 0x8086, E1000_DEV_ID_I350_VF,         PCI_ANY_ID, PCI_ANY_ID, 0},
+       { 0x8086, E1000_DEV_ID_I350_VF_HV,      PCI_ANY_ID, PCI_ANY_ID, 0},
+
+       { 0x8086, E1000_DEV_ID_82575EB_COPPER,  PCI_ANY_ID, PCI_ANY_ID, 0},
+       { 0x8086, E1000_DEV_ID_82575EB_FIBER_SERDES,
+                                               PCI_ANY_ID, PCI_ANY_ID, 0},
+       { 0x8086, E1000_DEV_ID_82575GB_QUAD_COPPER,
+                                               PCI_ANY_ID, PCI_ANY_ID, 0},
+       { 0x8086, E1000_DEV_ID_82580_COPPER,    PCI_ANY_ID, PCI_ANY_ID, 0},
+       { 0x8086, E1000_DEV_ID_82580_FIBER,     PCI_ANY_ID, PCI_ANY_ID, 0},
+       { 0x8086, E1000_DEV_ID_82580_SERDES,    PCI_ANY_ID, PCI_ANY_ID, 0},
+       { 0x8086, E1000_DEV_ID_82580_SGMII,     PCI_ANY_ID, PCI_ANY_ID, 0},
+       { 0x8086, E1000_DEV_ID_82580_COPPER_DUAL,
+                                               PCI_ANY_ID, PCI_ANY_ID, 0},
+       { 0x8086, E1000_DEV_ID_82580_QUAD_FIBER,
+                                               PCI_ANY_ID, PCI_ANY_ID, 0},
+       { 0x8086, E1000_DEV_ID_I350_COPPER,     PCI_ANY_ID, PCI_ANY_ID, 0},
+       { 0x8086, E1000_DEV_ID_I350_FIBER,      PCI_ANY_ID, PCI_ANY_ID, 0},
+       { 0x8086, E1000_DEV_ID_I350_SERDES,     PCI_ANY_ID, PCI_ANY_ID, 0},
+       { 0x8086, E1000_DEV_ID_I350_SGMII,      PCI_ANY_ID, PCI_ANY_ID, 0},
+       { 0x8086, E1000_DEV_ID_I350_DA4,        PCI_ANY_ID, PCI_ANY_ID, 0},
+       { 0x8086, E1000_DEV_ID_I210_COPPER,     PCI_ANY_ID, PCI_ANY_ID, 0},
+       { 0x8086, E1000_DEV_ID_I210_COPPER_OEM1,PCI_ANY_ID, PCI_ANY_ID, 0},
+       { 0x8086, E1000_DEV_ID_I210_COPPER_IT,  PCI_ANY_ID, PCI_ANY_ID, 0},
+       { 0x8086, E1000_DEV_ID_I210_FIBER,      PCI_ANY_ID, PCI_ANY_ID, 0},
+       { 0x8086, E1000_DEV_ID_I210_SERDES,     PCI_ANY_ID, PCI_ANY_ID, 0},
+       { 0x8086, E1000_DEV_ID_I210_SGMII,      PCI_ANY_ID, PCI_ANY_ID, 0},
+       { 0x8086, E1000_DEV_ID_I211_COPPER,     PCI_ANY_ID, PCI_ANY_ID, 0},
+
+       { 0x8086, E1000_DEV_ID_DH89XXCC_SGMII,  PCI_ANY_ID, PCI_ANY_ID, 0},
+       { 0x8086, E1000_DEV_ID_DH89XXCC_SERDES, PCI_ANY_ID, PCI_ANY_ID, 0},
+       { 0x8086, E1000_DEV_ID_DH89XXCC_BACKPLANE,
+                                               PCI_ANY_ID, PCI_ANY_ID, 0},
+       { 0x8086, E1000_DEV_ID_DH89XXCC_SFP,    PCI_ANY_ID, PCI_ANY_ID, 0},
+       { 0x8086, E1000_DEV_ID_PCH_I218_LM2,    PCI_ANY_ID, PCI_ANY_ID, 0},
+       { 0x8086, E1000_DEV_ID_PCH_I218_V2,     PCI_ANY_ID, PCI_ANY_ID, 0},
+       { 0x8086, E1000_DEV_ID_PCH_I218_LM3,    PCI_ANY_ID, PCI_ANY_ID, 0},
+       { 0x8086, E1000_DEV_ID_PCH_I218_V3,     PCI_ANY_ID, PCI_ANY_ID, 0},
+
        /* required last entry */
        { 0, 0, 0, 0, 0}
 };
diff --git a/src/add-ons/kernel/drivers/network/ipro1000/driver.c 
b/src/add-ons/kernel/drivers/network/ipro1000/driver.c
index 028e0ca..6eeb98c 100644
--- a/src/add-ons/kernel/drivers/network/ipro1000/driver.c
+++ b/src/add-ons/kernel/drivers/network/ipro1000/driver.c
@@ -41,6 +41,10 @@ identify_device(const pci_info *info)
        if (info->vendor_id != 0x8086)
                return 0;
        switch (info->device_id) {
+               case 0x0438: return "DH89XXCC SGMII";
+               case 0x043A: return "DH89XXCC SERDES";
+               case 0x043C: return "DH89XXCC BACKPLANE";
+               case 0x0440: return "DH89XXCC SFP";
                case 0x1000: return "82542";
                case 0x1001: return "82543GC FIBER";
                case 0x1004: return "82543GC COPPER";
@@ -66,6 +70,14 @@ identify_device(const pci_info *info)
                case 0x1026: return "82545GM COPPER";
                case 0x1027: return "82545GM FIBER";
                case 0x1028: return "82545GM SERDES";
+               case 0x1049: return "ICH8 IGP M AMT";
+               case 0x104A; return "ICH8 IGP AMT";
+               case 0x104B; return "ICH8 IGP C";
+               case 0x104C; return "ICH8 IFE";
+               case 0x104D; return "ICH8 IGP M";
+               case 0x105E; return "82571EB COPPER";
+               case 0x105F; return "82571EB FIBER";
+               case 0x1060; return "82571EB SERDES";
                case 0x1075: return "82547GI";
                case 0x1076: return "82541GI";
                case 0x1077: return "82541GI MOBILE";
@@ -74,6 +86,94 @@ identify_device(const pci_info *info)
                case 0x107A: return "82546GB FIBER";
                case 0x107B: return "82546GB SERDES";
                case 0x107C: return "82541PI";
+               case 0x107D: return "82572EI COPPER";
+               case 0x107E: return "82572EI FIBER";
+               case 0x107F: return "82572EI SERDES";
+               case 0x108A: return "82546GB PCIE";
+               case 0x108B: return "82573E";
+               case 0x108C: return "82573E IAMT";
+               case 0x1096: return "80003ES2LAN COPPER DPT";
+               case 0x1098: return "80003ES2LAN SERDES DPT";
+               case 0x1099: return "82546GB QUAD COPPER";
+               case 0x109A: return "82573L";
+               case 0x10A4: return "82571EB QUAD COPPER";
+               case 0x10A5: return "82571EB QUAD FIBER";
+               case 0x10A7: return "82575EB COPPER";
+               case 0x10A9: return "82575EB FIBER SERDES";
+               case 0x10B5: return "82546GB QUAD COPPER KSP3";
+               case 0x10B9: return "82572EI";
+               case 0x10BA: return "80003ES2LAN COPPER SPT";
+               case 0x10BB: return "80003ES2LAN SERDES SPT";
+               case 0x10BC: return "82571EB QUAD COPPER LP";
+               case 0x10BD: return "ICH9 IGP AMT";
+               case 0x10BF: return "ICH9 IGP M";
+               case 0x10C0: return "ICH9 IFE";
+               case 0x10C2: return "ICH9 IFE G";
+               case 0x10C3: return "ICH9 IFE GT";
+               case 0x10C4: return "ICH8 IFE GT";
+               case 0x10C5: return "ICH8 IFE G";
+               case 0x10C9: return "82576";
+               case 0x10CA: return "82576VF";
+               case 0x10CB; return "ICH9 IGB M V";
+               case 0x10CC: return "ICH10R BM LM";
+               case 0x10CD: return "ICH10R BM LF";
+               case 0x10CE; return "ICH10R BM V";
+               case 0x10D3: return "82574L";
+               case 0x10D5: return "82571PT QUAD COPPER";
+               case 0x10D6: return "82575GB QUAD COPPER";
+               case 0x10D9; return "82571EB SERDES DUAL";
+               case 0x10DA: return "82571EB SERDES QUAD";
+               case 0x10DE: return "ICH10D BM LM";
+               case 0x10DF; return "ICH10D BM LF";
+               case 0x10E5: return "ICH9 BM";
+               case 0x10E6: return "82576 FIBER";
+               case 0x10E7: return "82576 SERDES";
+               case 0x10E8; return "82576 QUAD COPPER";
+               case 0x10EA: return "PCHM HV LM";
+               case 0x10EB: return "PCHM HV LC";
+               case 0x10EF; return "PCHD HV DM";
+               case 0x10F0: return "PCHM HV DC";
+               case 0x10F5: return "ICH9 IGP M AMT";
+               case 0x10F6; return "82574LA";
+               case 0x1501: return "ICH8 82567V3";
+               case 0x1502; return "PCH2 LV LM";
+               case 0x1503: return "PCH2 LV V";
+               case 0x150A: return "82576NS";
+               case 0x150C; return "82583V";
+               case 0x150D: return "82576 SERDES QUAD";
+               case 0x150E: return "82580 COPPER";
+               case 0x150F; return "82580 FIBER";
+               case 0x1510; return "82580 SERDES";
+               case 0x1511: return "82580 SGMII";
+               case 0x1516: return "82580 COPPER DUAL";
+               case 0x1518; return "82576NS SERDES";
+               case 0x1520; return "I350VF";
+               case 0x1521: return "I350 COPPER";
+               case 0x1522; return "I350 FIBER";
+               case 0x1523: return "I350 SERDES";
+               case 0x1524: return "I350 SGMII";
+               case 0x1525; return "ICH10D BM V";
+               case 0x1526; return "82576 QUAD COPPER ET2";
+               case 0x1527: return "82580 QUAD FIBER";
+               case 0x152D: return "82576VF HF";
+               case 0x152F; return "I350VF HV";
+               case 0x1533: return "I210 COPPER";
+               case 0x1534; return "I210 COPPER OEM1";
+               case 0x1535: return "I210 COPPER IT";
+               case 0x1536: return "I210 FIBER";
+               case 0x1537; return "I210 SERDES";
+               case 0x1538; return "I210 SGMII";
+               case 0x1539: return "I211 COPPER";
+               case 0x153A: return "PCH LPT I217LM";
+               case 0x153B; return "PCH LPT I217V";
+               case 0x1546: return "I350 DA4";
+               case 0x1559: return "PCH LPTLP I218V";
+               case 0x155A; return "PCH LPTLP I218LM";
+               case 0x15A0; return "PCH I218LM2";
+               case 0x15A1; return "PCH I218V2";
+               case 0x15A2; return "PCH I218LM3";
+               case 0x15A3; return "PCH I218V3";
+
                default: return 0;
        }
 }

############################################################################

Commit:      6e02aa9d1ce55ac600f75ac0ba895b2bdfd2d23b
URL:         http://cgit.haiku-os.org/haiku/commit/?id=6e02aa9d1ce5
Author:      Adrien Destugues <pulkomandy@xxxxxxxxxxxxx>
Date:        Sun Jan  1 10:17:56 2017 UTC

Ticket:      https://dev.haiku-os.org/ticket/13135

NotificationWindow: fix memory leak

Thanks to mt for analysis of the problem. Fixed in a different way from
the original patch.

Fixes #13135.

----------------------------------------------------------------------------

diff --git a/src/servers/notification/NotificationWindow.cpp 
b/src/servers/notification/NotificationWindow.cpp
index c99070d..7a9d9aa 100644
--- a/src/servers/notification/NotificationWindow.cpp
+++ b/src/servers/notification/NotificationWindow.cpp
@@ -168,9 +168,6 @@ NotificationWindow::MessageReceived(BMessage* message)
                                else
                                        
be_roster->GetAppInfo("application/x-vnd.Be-SHEL", &info);
 
-                               NotificationView* view = new 
NotificationView(this,
-                                       notification, timeout);
-
                                bool allow = false;
                                appfilter_t::iterator it = 
fAppFilters.find(info.signature);
 
@@ -199,6 +196,9 @@ NotificationWindow::MessageReceived(BMessage* message)
                                        } else
                                                group = aIt->second;
 
+                                       NotificationView* view = new 
NotificationView(this,
+                                               notification, timeout);
+
                                        group->AddInfo(view);
 
                                        _ShowHide();

############################################################################

Commit:      dfe2eac4c6555119c3590f90c51dd1636a483699
URL:         http://cgit.haiku-os.org/haiku/commit/?id=dfe2eac4c655
Author:      Murai Takashi <tmurai01@xxxxxxxxx>
Date:        Thu Dec 29 21:44:40 2016 UTC
Committer:   Adrien Destugues <pulkomandy@xxxxxxxxxxxxx>
Commit-Date: Sun Jan  1 10:20:27 2017 UTC

Ticket:      https://dev.haiku-os.org/ticket/13134

RemoteMessage.cpp: fix memory leak

Signed-off-by: Adrien Destugues <pulkomandy@xxxxxxxxxxxxx>

Fixes #13134

----------------------------------------------------------------------------

diff --git a/src/servers/app/drawing/interface/remote/RemoteMessage.cpp 
b/src/servers/app/drawing/interface/remote/RemoteMessage.cpp
index 55c7cdd..8bb1dcd 100644
--- a/src/servers/app/drawing/interface/remote/RemoteMessage.cpp
+++ b/src/servers/app/drawing/interface/remote/RemoteMessage.cpp
@@ -502,8 +502,10 @@ RemoteMessage::ReadGradient(BGradient** _gradient)
 
                Read(color);
                result = Read(offset);
-               if (result != B_OK)
+               if (result != B_OK) {
+                       delete gradient;
                        return result;
+               }
 
                gradient->AddColor(color, offset);
        }

############################################################################

Revision:    hrev50813
Commit:      80d8697c0ec83093b2552c90a9c947189245f51f
URL:         http://cgit.haiku-os.org/haiku/commit/?id=80d8697c0ec8
Author:      Murai Takashi <tmurai01@xxxxxxxxx>
Date:        Thu Dec 29 21:43:17 2016 UTC
Committer:   Adrien Destugues <pulkomandy@xxxxxxxxxxxxx>
Commit-Date: Sun Jan  1 10:25:56 2017 UTC

Ticket:      https://dev.haiku-os.org/ticket/13133

DeskbarMenu.cpp: fix memory leak

Signed-off-by: Adrien Destugues <pulkomandy@xxxxxxxxxxxxx>

Fixes #13133

----------------------------------------------------------------------------

diff --git a/src/apps/deskbar/DeskbarMenu.cpp b/src/apps/deskbar/DeskbarMenu.cpp
index a360c75..144b1bc 100644
--- a/src/apps/deskbar/DeskbarMenu.cpp
+++ b/src/apps/deskbar/DeskbarMenu.cpp
@@ -196,6 +196,9 @@ TDeskbarMenu::AddNextItem()
                                                &data->fTarget, 
data->fDragMessage);
                                }
                        }
+               } else {
+                       for (int i = 0; i < recentTypes; i++)
+                               delete recentItem[i];
                }
 
                AddSeparatorItem();


Other related posts:

  • » [haiku-commits] haiku: hrev50813 - in src/add-ons/kernel/drivers/network/ipro1000/dev/e1000: . src/add-ons/kernel/drivers/network/ipro1000 src - pulkomandy