stat_work));
 }
 
+static void zfcp_version_change_lost_work(struct work_struct *work)
+{
+       struct zfcp_adapter *adapter = container_of(work, struct zfcp_adapter,
+                                                   version_change_lost_work);
+
+       zfcp_fsf_exchange_config_data_sync(adapter->qdio, NULL);
+}
+
 static void zfcp_print_sl(struct seq_file *m, struct service_level *sl)
 {
        struct zfcp_adapter *adapter =
        INIT_WORK(&adapter->stat_work, _zfcp_status_read_scheduler);
        INIT_DELAYED_WORK(&adapter->scan_work, zfcp_fc_scan_ports);
        INIT_WORK(&adapter->ns_up_work, zfcp_fc_sym_name_update);
+       INIT_WORK(&adapter->version_change_lost_work,
+                 zfcp_version_change_lost_work);
 
        adapter->next_port_scan = jiffies;
 
        cancel_delayed_work_sync(&adapter->scan_work);
        cancel_work_sync(&adapter->stat_work);
        cancel_work_sync(&adapter->ns_up_work);
+       cancel_work_sync(&adapter->version_change_lost_work);
        zfcp_destroy_adapter_work_queue(adapter);
 
        zfcp_fc_wka_ports_force_offline(adapter->gs);
 
        struct zfcp_fc_events events;
        unsigned long           next_port_scan;
        struct zfcp_diag_adapter        *diagnostics;
+       struct work_struct      version_change_lost_work;
 };
 
 struct zfcp_port {
 
        case FSF_STATUS_READ_NOTIFICATION_LOST:
                if (sr_buf->status_subtype & FSF_STATUS_READ_SUB_INCOMING_ELS)
                        zfcp_fc_conditional_port_scan(adapter);
+               if (sr_buf->status_subtype & FSF_STATUS_READ_SUB_VERSION_CHANGE)
+                       queue_work(adapter->work_queue,
+                                  &adapter->version_change_lost_work);
                break;
        case FSF_STATUS_READ_FEATURE_UPDATE_ALERT:
                adapter->adapter_features = sr_buf->payload.word[0];
 
 
 /* status subtypes for unsolicited status notification lost */
 #define FSF_STATUS_READ_SUB_INCOMING_ELS       0x00000001
+#define FSF_STATUS_READ_SUB_VERSION_CHANGE     0x00000100
 
 /* status subtypes for version change */
 #define FSF_STATUS_READ_SUB_LIC_CHANGE         0x00000001