[PATCH] libertas: support for mesh autostart on firmware 5.220.11

Signed-off-by: Luis Carlos Cobo Rus <luisca@cozybit.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
diff --git a/drivers/net/wireless/libertas/cmdresp.c b/drivers/net/wireless/libertas/cmdresp.c
index c0c0471..3b06934 100644
--- a/drivers/net/wireless/libertas/cmdresp.c
+++ b/drivers/net/wireless/libertas/cmdresp.c
@@ -1009,6 +1009,16 @@
 		lbs_pr_alert( "EVENT: SNR_HIGH\n");
 		break;
 
+	case MACREG_INT_CODE_MESH_AUTO_STARTED:
+		lbs_pr_alert( "EVENT: MESH_AUTO_STARTED\n");
+		adapter->connect_status = libertas_connected ;
+		if (priv->mesh_open == 1) {
+			netif_wake_queue(priv->mesh_dev) ;
+			netif_carrier_on(priv->mesh_dev) ;
+		}
+		adapter->mode = IW_MODE_ADHOC ;
+		break;
+
 	default:
 		lbs_pr_alert( "EVENT: unknown event id: %#x\n",
 		       eventcause >> SBI_EVENT_CAUSE_SHIFT);
diff --git a/drivers/net/wireless/libertas/host.h b/drivers/net/wireless/libertas/host.h
index e12dbc6..cedf1db 100644
--- a/drivers/net/wireless/libertas/host.h
+++ b/drivers/net/wireless/libertas/host.h
@@ -336,5 +336,6 @@
 #define MACREG_INT_CODE_MAX_FAIL		0x0000001b
 #define MACREG_INT_CODE_RSSI_HIGH		0x0000001c
 #define MACREG_INT_CODE_SNR_HIGH		0x0000001d
+#define MACREG_INT_CODE_MESH_AUTO_STARTED	0x00000023
 
 #endif				/* _HOST_H_ */
diff --git a/drivers/net/wireless/libertas/main.c b/drivers/net/wireless/libertas/main.c
index 61cf95b..072eeeb 100644
--- a/drivers/net/wireless/libertas/main.c
+++ b/drivers/net/wireless/libertas/main.c
@@ -21,7 +21,7 @@
 #include "debugfs.h"
 #include "assoc.h"
 
-#define DRIVER_RELEASE_VERSION "321.p0"
+#define DRIVER_RELEASE_VERSION "322.p0"
 const char libertas_driver_version[] = "COMM-USB8388-" DRIVER_RELEASE_VERSION
 #ifdef  DEBUG
     "-dbg"