qeth: do not apply priority queuing to HiperSockets

OSA cards can be configured to support 1 or 4 output queues. This
does not apply to HiperSockets. This patch limits determination of
the configured number of output queues to OSA cards only, but excludes
HiperSockets.

Signed-off-by: Ursula Braun <ursula.braun@de.ibm.com>
Signed-off-by: Frank Blaschka <frank.blaschka@de.ibm.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:
Ursula Braun 2011-08-08 01:33:48 +00:00 committed by David S. Miller
parent 1d31f52e38
commit 99558ea93c
1 changed files with 21 additions and 19 deletions

View File

@ -995,6 +995,7 @@ static void qeth_get_channel_path_desc(struct qeth_card *card)
ccwdev = card->data.ccwdev;
chp_dsc = (struct channelPath_dsc *)ccw_device_get_chp_desc(ccwdev, 0);
if (chp_dsc != NULL) {
if (card->info.type != QETH_CARD_TYPE_IQD) {
/* CHPP field bit 6 == 1 -> single queue */
if ((chp_dsc->chpp & 0x02) == 0x02) {
if ((atomic_read(&card->qdio.state) !=
@ -1017,6 +1018,7 @@ static void qeth_get_channel_path_desc(struct qeth_card *card)
}
card->qdio.no_out_queues = 4;
}
}
card->info.func_level = 0x4100 + chp_dsc->desc;
kfree(chp_dsc);
}