ethtool: fix drvinfo strings set in drivers
[deliverable/linux.git] / drivers / net / ethernet / emulex / benet / be_ethtool.c
index 00454a10f88d6111f5bfb30987703c04d807e8ba..76b302f30c8727fe638a8e9783f8246c037f1db6 100644 (file)
@@ -183,12 +183,12 @@ static void be_get_drvinfo(struct net_device *netdev,
 
        strlcpy(drvinfo->driver, DRV_NAME, sizeof(drvinfo->driver));
        strlcpy(drvinfo->version, DRV_VER, sizeof(drvinfo->version));
-       strncpy(drvinfo->fw_version, adapter->fw_ver, FW_VER_LEN);
-       if (memcmp(adapter->fw_ver, fw_on_flash, FW_VER_LEN) != 0) {
-               strcat(drvinfo->fw_version, " [");
-               strcat(drvinfo->fw_version, fw_on_flash);
-               strcat(drvinfo->fw_version, "]");
-       }
+       if (!memcmp(adapter->fw_ver, fw_on_flash, FW_VER_LEN))
+               strlcpy(drvinfo->fw_version, adapter->fw_ver,
+                       sizeof(drvinfo->fw_version));
+       else
+               snprintf(drvinfo->fw_version, sizeof(drvinfo->fw_version),
+                        "%s [%s]", adapter->fw_ver, fw_on_flash);
 
        strlcpy(drvinfo->bus_info, pci_name(adapter->pdev),
                sizeof(drvinfo->bus_info));
This page took 0.025413 seconds and 5 git commands to generate.