mei: hbm: clean the feature flags on link reset
authorAlexander Usyskin <alexander.usyskin@intel.com>
Wed, 20 Feb 2019 14:55:37 +0000 (16:55 +0200)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Sat, 23 Mar 2019 19:09:39 +0000 (20:09 +0100)
commit 37fd0b623023484ef6df79ed46f21f06ecc611ff upstream.

The list of supported functions can be altered upon link reset,
clean the flags to allow correct selections of supported
features.

Cc: <stable@vger.kernel.org> v4.19+
Signed-off-by: Alexander Usyskin <alexander.usyskin@intel.com>
Signed-off-by: Tomas Winkler <tomas.winkler@intel.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/misc/mei/hbm.c

index e56f3e7..d39cc29 100644 (file)
@@ -986,29 +986,36 @@ static void mei_hbm_config_features(struct mei_device *dev)
            dev->version.minor_version >= HBM_MINOR_VERSION_PGI)
                dev->hbm_f_pg_supported = 1;
 
+       dev->hbm_f_dc_supported = 0;
        if (dev->version.major_version >= HBM_MAJOR_VERSION_DC)
                dev->hbm_f_dc_supported = 1;
 
+       dev->hbm_f_ie_supported = 0;
        if (dev->version.major_version >= HBM_MAJOR_VERSION_IE)
                dev->hbm_f_ie_supported = 1;
 
        /* disconnect on connect timeout instead of link reset */
+       dev->hbm_f_dot_supported = 0;
        if (dev->version.major_version >= HBM_MAJOR_VERSION_DOT)
                dev->hbm_f_dot_supported = 1;
 
        /* Notification Event Support */
+       dev->hbm_f_ev_supported = 0;
        if (dev->version.major_version >= HBM_MAJOR_VERSION_EV)
                dev->hbm_f_ev_supported = 1;
 
        /* Fixed Address Client Support */
+       dev->hbm_f_fa_supported = 0;
        if (dev->version.major_version >= HBM_MAJOR_VERSION_FA)
                dev->hbm_f_fa_supported = 1;
 
        /* OS ver message Support */
+       dev->hbm_f_os_supported = 0;
        if (dev->version.major_version >= HBM_MAJOR_VERSION_OS)
                dev->hbm_f_os_supported = 1;
 
        /* DMA Ring Support */
+       dev->hbm_f_dr_supported = 0;
        if (dev->version.major_version > HBM_MAJOR_VERSION_DR ||
            (dev->version.major_version == HBM_MAJOR_VERSION_DR &&
             dev->version.minor_version >= HBM_MINOR_VERSION_DR))