svn commit: r205944 - head/sys/dev/cxgb

Navdeep Parhar np at FreeBSD.org
Wed Mar 31 00:19:40 UTC 2010


Author: np
Date: Wed Mar 31 00:19:39 2010
New Revision: 205944
URL: http://svn.freebsd.org/changeset/base/205944

Log:
  Refresh the firmware version immediately after it is upgraded (or downgraded).
  
  MFC after:	3 days

Modified:
  head/sys/dev/cxgb/cxgb_main.c

Modified: head/sys/dev/cxgb/cxgb_main.c
==============================================================================
--- head/sys/dev/cxgb/cxgb_main.c	Tue Mar 30 23:15:06 2010	(r205943)
+++ head/sys/dev/cxgb/cxgb_main.c	Wed Mar 31 00:19:39 2010	(r205944)
@@ -378,17 +378,25 @@ upgrade_fw(adapter_t *sc)
 {
 	const struct firmware *fw;
 	int status;
+	u32 vers;
 	
 	if ((fw = firmware_get(FW_FNAME)) == NULL)  {
 		device_printf(sc->dev, "Could not find firmware image %s\n", FW_FNAME);
 		return (ENOENT);
 	} else
-		device_printf(sc->dev, "updating firmware on card\n");
+		device_printf(sc->dev, "installing firmware on card\n");
 	status = t3_load_fw(sc, (const uint8_t *)fw->data, fw->datasize);
 
-	device_printf(sc->dev, "firmware update returned %s %d\n",
-	    status == 0 ? "success" : "fail", status);
-	
+	if (status != 0) {
+		device_printf(sc->dev, "failed to install firmware: %d\n",
+		    status);
+	} else {
+		t3_get_fw_version(sc, &vers);
+		snprintf(&sc->fw_version[0], sizeof(sc->fw_version), "%d.%d.%d",
+		    G_FW_VERSION_MAJOR(vers), G_FW_VERSION_MINOR(vers),
+		    G_FW_VERSION_MICRO(vers));
+	}
+
 	firmware_put(fw, FIRMWARE_UNLOAD);
 
 	return (status);	


More information about the svn-src-head mailing list