The original code used the wrong parameter to clear tx_atten[].  It
passed the number of elements instead of sizeof() the array to memset.

The other potential issue was that cphy_base[] wasn't cleared.  I'm not
sure if that was a real problem or not, but I have cleared it in my
patch.

Instead of using memset(), this patch uses empty initializers as a
cleanup.

Signed-off-by: Dan Carpenter <[email protected]>
---
v2: used {} initialization instead of memset.  I also just went ahead
    and cleared cphy_base[].

diff --git a/drivers/ata/sata_highbank.c b/drivers/ata/sata_highbank.c
index 7f5e5d9..ea3b3dc 100644
--- a/drivers/ata/sata_highbank.c
+++ b/drivers/ata/sata_highbank.c
@@ -343,13 +343,11 @@ static int highbank_initialize_phys(struct device *dev, 
void __iomem *addr)
 {
        struct device_node *sata_node = dev->of_node;
        int phy_count = 0, phy, port = 0, i;
-       void __iomem *cphy_base[CPHY_PHY_COUNT];
-       struct device_node *phy_nodes[CPHY_PHY_COUNT];
-       u32 tx_atten[CPHY_PORT_COUNT];
+       void __iomem *cphy_base[CPHY_PHY_COUNT] = {};
+       struct device_node *phy_nodes[CPHY_PHY_COUNT] = {};
+       u32 tx_atten[CPHY_PORT_COUNT] = {};
 
        memset(port_data, 0, sizeof(struct phy_lane_info) * CPHY_PORT_COUNT);
-       memset(phy_nodes, 0, sizeof(struct device_node*) * CPHY_PHY_COUNT);
-       memset(tx_atten, 0xff, CPHY_PORT_COUNT);
 
        do {
                u32 tmp;
--
To unsubscribe from this list: send the line "unsubscribe devicetree" in
the body of a message to [email protected]
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to