diff options
author | Stefan Raspl <raspl@linux.vnet.ibm.com> | 2014-04-28 04:05:05 -0400 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2014-04-28 13:44:09 -0400 |
commit | 0f8ee7fc5ddee6a326b5ecd4f1ce09e14b65638a (patch) | |
tree | 8ac43dc8bba54b103570551b30aff50431b3e708 /drivers/s390 | |
parent | d39a743511cdb80884b4b9cd506fe84b6b08e66e (diff) |
qeth: Fix default queue setting in priority queueing
The default queue for queueing modes prio_queueing_prec and
prio_queueing_tos is supposed to be QETH_DEFAULT_QUEUE. However, neither
mode will reset the default default_out_queue value when enabled, leaving
a previously set value activate as the default.
E.g. enabling one of the fixed queueing modes, e.g. no_prio_queueing:0,
and successively switching to any of the prio_queueing_* modes will
leave default_out_queue at the previous (wrong) value 0.
Signed-off-by: Stefan Raspl <raspl@linux.vnet.ibm.com>
Signed-off-by: Frank Blaschka <frank.blaschka@de.ibm.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'drivers/s390')
-rw-r--r-- | drivers/s390/net/qeth_core_sys.c | 8 |
1 files changed, 5 insertions, 3 deletions
diff --git a/drivers/s390/net/qeth_core_sys.c b/drivers/s390/net/qeth_core_sys.c index 425c0ecf1f3b..8547de8a766c 100644 --- a/drivers/s390/net/qeth_core_sys.c +++ b/drivers/s390/net/qeth_core_sys.c | |||
@@ -250,11 +250,13 @@ static ssize_t qeth_dev_prioqing_store(struct device *dev, | |||
250 | } | 250 | } |
251 | 251 | ||
252 | tmp = strsep((char **) &buf, "\n"); | 252 | tmp = strsep((char **) &buf, "\n"); |
253 | if (!strcmp(tmp, "prio_queueing_prec")) | 253 | if (!strcmp(tmp, "prio_queueing_prec")) { |
254 | card->qdio.do_prio_queueing = QETH_PRIO_Q_ING_PREC; | 254 | card->qdio.do_prio_queueing = QETH_PRIO_Q_ING_PREC; |
255 | else if (!strcmp(tmp, "prio_queueing_tos")) | 255 | card->qdio.default_out_queue = QETH_DEFAULT_QUEUE; |
256 | } else if (!strcmp(tmp, "prio_queueing_tos")) { | ||
256 | card->qdio.do_prio_queueing = QETH_PRIO_Q_ING_TOS; | 257 | card->qdio.do_prio_queueing = QETH_PRIO_Q_ING_TOS; |
257 | else if (!strcmp(tmp, "no_prio_queueing:0")) { | 258 | card->qdio.default_out_queue = QETH_DEFAULT_QUEUE; |
259 | } else if (!strcmp(tmp, "no_prio_queueing:0")) { | ||
258 | card->qdio.do_prio_queueing = QETH_NO_PRIO_QUEUEING; | 260 | card->qdio.do_prio_queueing = QETH_NO_PRIO_QUEUEING; |
259 | card->qdio.default_out_queue = 0; | 261 | card->qdio.default_out_queue = 0; |
260 | } else if (!strcmp(tmp, "no_prio_queueing:1")) { | 262 | } else if (!strcmp(tmp, "no_prio_queueing:1")) { |