Patch "s390/qeth: don't let HW override the configured port role" has been added to the 5.9-stable tree

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



This is a note to let you know that I've just added the patch titled

    s390/qeth: don't let HW override the configured port role

to the 5.9-stable tree which can be found at:
    http://www.kernel.org/git/?p=linux/kernel/git/stable/stable-queue.git;a=summary

The filename of the patch is:
     s390-qeth-don-t-let-hw-override-the-configured-port-.patch
and it can be found in the queue-5.9 subdirectory.

If you, or anyone else, feels it should not be added to the stable tree,
please let <stable@xxxxxxxxxxxxxxx> know about it.



commit 1e782c26400383e8fd0c5d2cf923acbd7c605927
Author: Julian Wiedmann <jwi@xxxxxxxxxxxxx>
Date:   Thu Aug 27 10:17:02 2020 +0200

    s390/qeth: don't let HW override the configured port role
    
    [ Upstream commit a04f0ecacdb0639d416614619225a39de3927e22 ]
    
    The only time that our Bridgeport role should change is when we change
    the configuration ourselves. In which case we also adjust our internal
    state tracking, no need to do it again when we receive the corresponding
    event.
    
    Removing the locked section helps a subsequent patch that needs to flush
    the workqueue while under sbp_lock.
    
    It would be nice to raise a warning here in case HW does weird things
    after all, but this could end up generating false-positives when we
    change the configuration ourselves.
    
    Suggested-by: Alexandra Winter <wintera@xxxxxxxxxxxxx>
    Signed-off-by: Julian Wiedmann <jwi@xxxxxxxxxxxxx>
    Reviewed-by: Alexandra Winter <wintera@xxxxxxxxxxxxx>
    Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx>
    Signed-off-by: Sasha Levin <sashal@xxxxxxxxxx>

diff --git a/drivers/s390/net/qeth_l2_main.c b/drivers/s390/net/qeth_l2_main.c
index 9866d01b40fe7..4af7b5d57b4e4 100644
--- a/drivers/s390/net/qeth_l2_main.c
+++ b/drivers/s390/net/qeth_l2_main.c
@@ -1120,12 +1120,6 @@ static void qeth_bridge_state_change_worker(struct work_struct *work)
 		NULL
 	};
 
-	/* Role should not change by itself, but if it did, */
-	/* information from the hardware is authoritative.  */
-	mutex_lock(&data->card->sbp_lock);
-	data->card->options.sbp.role = entry->role;
-	mutex_unlock(&data->card->sbp_lock);
-
 	snprintf(env_locrem, sizeof(env_locrem), "BRIDGEPORT=statechange");
 	snprintf(env_role, sizeof(env_role), "ROLE=%s",
 		(entry->role == QETH_SBP_ROLE_NONE) ? "none" :



[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Index of Archives]     [Linux USB Devel]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux