]> pilppa.org Git - linux-2.6-omap-h63xx.git/blobdiff - drivers/net/tehuti.c
[MTD] [MAPS] fix platform driver hotplug/coldplug
[linux-2.6-omap-h63xx.git] / drivers / net / tehuti.c
index 8d04654f0c59ccb461db144ca79e2780cc2f75a7..17585e5eed5379c2299f85f92a3956768850161e 100644 (file)
@@ -621,7 +621,7 @@ err:
 static void __init bdx_firmware_endianess(void)
 {
        int i;
-       for (i = 0; i < sizeof(s_firmLoad) / sizeof(u32); i++)
+       for (i = 0; i < ARRAY_SIZE(s_firmLoad); i++)
                s_firmLoad[i] = CPU_CHIP_SWAP32(s_firmLoad[i]);
 }
 
@@ -1906,7 +1906,7 @@ bdx_probe(struct pci_dev *pdev, const struct pci_device_id *ent)
 
     /************** pci *****************/
        if ((err = pci_enable_device(pdev)))    /* it trigers interrupt, dunno why. */
-               RET(err);                       /* it's not a problem though */
+               goto err_pci;                   /* it's not a problem though */
 
        if (!(err = pci_set_dma_mask(pdev, DMA_64BIT_MASK)) &&
            !(err = pci_set_consistent_dma_mask(pdev, DMA_64BIT_MASK))) {
@@ -2076,6 +2076,7 @@ err_out_res:
        pci_release_regions(pdev);
 err_dma:
        pci_disable_device(pdev);
+err_pci:
        vfree(nic);
 
        RET(err);
@@ -2167,14 +2168,13 @@ bdx_get_drvinfo(struct net_device *netdev, struct ethtool_drvinfo *drvinfo)
 {
        struct bdx_priv *priv = netdev->priv;
 
-       strncat(drvinfo->driver, BDX_DRV_NAME, sizeof(drvinfo->driver));
-       strncat(drvinfo->version, BDX_DRV_VERSION, sizeof(drvinfo->version));
-       strncat(drvinfo->fw_version, "N/A", sizeof(drvinfo->fw_version));
-       strncat(drvinfo->bus_info, pci_name(priv->pdev),
+       strlcat(drvinfo->driver, BDX_DRV_NAME, sizeof(drvinfo->driver));
+       strlcat(drvinfo->version, BDX_DRV_VERSION, sizeof(drvinfo->version));
+       strlcat(drvinfo->fw_version, "N/A", sizeof(drvinfo->fw_version));
+       strlcat(drvinfo->bus_info, pci_name(priv->pdev),
                sizeof(drvinfo->bus_info));
 
-       drvinfo->n_stats = ((priv->stats_flag) ?
-                           (sizeof(bdx_stat_names) / ETH_GSTRING_LEN) : 0);
+       drvinfo->n_stats = ((priv->stats_flag) ? ARRAY_SIZE(bdx_stat_names) : 0);
        drvinfo->testinfo_len = 0;
        drvinfo->regdump_len = 0;
        drvinfo->eedump_len = 0;
@@ -2374,10 +2374,9 @@ static void bdx_get_strings(struct net_device *netdev, u32 stringset, u8 *data)
 static int bdx_get_stats_count(struct net_device *netdev)
 {
        struct bdx_priv *priv = netdev->priv;
-       BDX_ASSERT(sizeof(bdx_stat_names) / ETH_GSTRING_LEN
+       BDX_ASSERT(ARRAY_SIZE(bdx_stat_names)
                   != sizeof(struct bdx_stats) / sizeof(u64));
-       return ((priv->stats_flag) ? (sizeof(bdx_stat_names) / ETH_GSTRING_LEN)
-               : 0);
+       return ((priv->stats_flag) ? ARRAY_SIZE(bdx_stat_names) : 0);
 }
 
 /*