diff mbox

sata, highbank: clear whole array in highbank_initialize_phys()

Message ID 20130816073336.GA9881@elgon.mountain
State Not Applicable
Delegated to: David Miller
Headers show

Commit Message

Dan Carpenter Aug. 16, 2013, 7:33 a.m. UTC
The problem is that we use "CPHY_PORT_COUNT" as the size of the
tx_atten[] array, but that's the number of elements and not the number
of bytes.  I've changed it to use sizeof(tx_atten) instead.

The other two calls to memset() were correct but I changed them as well
for consistency.

Signed-off-by: Dan Carpenter <dan.carpenter@oracle.com>
---
We don't clear the cphy_base[] array.  I don't know the code well enough
to say if that is intentional or not.

--
To unsubscribe from this list: send the line "unsubscribe linux-ide" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Comments

Tejun Heo Aug. 16, 2013, 4:53 p.m. UTC | #1
Hello, Dan.

On Fri, Aug 16, 2013 at 10:33:36AM +0300, Dan Carpenter wrote:
> @@ -347,9 +347,9 @@ static int highbank_initialize_phys(struct device *dev, void __iomem *addr)
>  	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);
> +	memset(port_data, 0, sizeof(port_data));
> +	memset(phy_nodes, 0, sizeof(phy_nodes));
> +	memset(tx_atten, 0xff, sizeof(tx_atten));

Ugh... why would anybody name a global variable port_data[]?  So,
port_data is global and the other two are local.  Wouldn't it be
better to just do "= { }" on declaration for the local ones?

Thanks.
diff mbox

Patch

diff --git a/drivers/ata/sata_highbank.c b/drivers/ata/sata_highbank.c
index 7f5e5d9..6abe2d5 100644
--- a/drivers/ata/sata_highbank.c
+++ b/drivers/ata/sata_highbank.c
@@ -347,9 +347,9 @@  static int highbank_initialize_phys(struct device *dev, void __iomem *addr)
 	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);
+	memset(port_data, 0, sizeof(port_data));
+	memset(phy_nodes, 0, sizeof(phy_nodes));
+	memset(tx_atten, 0xff, sizeof(tx_atten));
 
 	do {
 		u32 tmp;