diff options
author | Julian Wiedmann <jwi@linux.ibm.com> | 2020-02-27 20:08:13 +0300 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2020-02-27 22:15:13 +0300 |
commit | 7f23d55f4958d11577f6cf54d5d3baced25ecaea (patch) | |
tree | af0f6052f76d6da8dfefed7ee006286a3a636809 /drivers | |
parent | d74e5e84f25c825fe6ac78d6e7ca2139fc3f1cf6 (diff) | |
download | linux-7f23d55f4958d11577f6cf54d5d3baced25ecaea.tar.xz |
s390/qeth: reset seqnos on connection startup
This let's us start every new IDX connection with clean seqnos.
Signed-off-by: Julian Wiedmann <jwi@linux.ibm.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'drivers')
-rw-r--r-- | drivers/s390/net/qeth_core_main.c | 11 |
1 files changed, 5 insertions, 6 deletions
diff --git a/drivers/s390/net/qeth_core_main.c b/drivers/s390/net/qeth_core_main.c index 5efcaa43615b..ba1e50ed50ec 100644 --- a/drivers/s390/net/qeth_core_main.c +++ b/drivers/s390/net/qeth_core_main.c @@ -1624,17 +1624,16 @@ static void qeth_set_blkt_defaults(struct qeth_card *card) } } -static void qeth_init_tokens(struct qeth_card *card) +static void qeth_idx_init(struct qeth_card *card) { + memset(&card->seqno, 0, sizeof(card->seqno)); + card->token.issuer_rm_w = 0x00010103UL; card->token.cm_filter_w = 0x00010108UL; card->token.cm_connection_w = 0x0001010aUL; card->token.ulp_filter_w = 0x0001010bUL; card->token.ulp_connection_w = 0x0001010dUL; -} -static void qeth_init_func_level(struct qeth_card *card) -{ switch (card->info.type) { case QETH_CARD_TYPE_IQD: card->info.func_level = QETH_IDX_FUNC_LEVEL_IQD; @@ -4952,9 +4951,9 @@ retriable: else goto retry; } + qeth_determine_capabilities(card); - qeth_init_tokens(card); - qeth_init_func_level(card); + qeth_idx_init(card); rc = qeth_idx_activate_read_channel(card); if (rc == -EINTR) { |