Skip to content

Commit aa3ad39

Browse files
julianwiedmanndavem330
authored andcommitted
s390/qeth: consolidate QDIO queue setup
Move some duplicated logic into a shared code path. Signed-off-by: Julian Wiedmann <[email protected]> Signed-off-by: David S. Miller <[email protected]>
1 parent 8ca769e commit aa3ad39

File tree

4 files changed

+9
-17
lines changed

4 files changed

+9
-17
lines changed

drivers/s390/net/qeth_core.h

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -994,7 +994,6 @@ int qeth_core_hardsetup_card(struct qeth_card *card, bool *carrier_ok);
994994
int qeth_stop_channel(struct qeth_channel *channel);
995995

996996
void qeth_print_status_message(struct qeth_card *);
997-
int qeth_init_qdio_queues(struct qeth_card *);
998997
int qeth_send_ipa_cmd(struct qeth_card *, struct qeth_cmd_buffer *,
999998
int (*reply_cb)
1000999
(struct qeth_card *, struct qeth_reply *, unsigned long),

drivers/s390/net/qeth_core_main.c

Lines changed: 7 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2665,7 +2665,7 @@ static unsigned int qeth_tx_select_bulk_max(struct qeth_card *card,
26652665
return card->ssqd.mmwc ? card->ssqd.mmwc : 1;
26662666
}
26672667

2668-
int qeth_init_qdio_queues(struct qeth_card *card)
2668+
static int qeth_init_qdio_queues(struct qeth_card *card)
26692669
{
26702670
unsigned int i;
26712671
int rc;
@@ -2713,7 +2713,6 @@ int qeth_init_qdio_queues(struct qeth_card *card)
27132713
}
27142714
return 0;
27152715
}
2716-
EXPORT_SYMBOL_GPL(qeth_init_qdio_queues);
27172716

27182717
static void qeth_ipa_finalize_cmd(struct qeth_card *card,
27192718
struct qeth_cmd_buffer *iob)
@@ -5026,6 +5025,12 @@ int qeth_core_hardsetup_card(struct qeth_card *card, bool *carrier_ok)
50265025
if (rc)
50275026
goto out;
50285027

5028+
rc = qeth_init_qdio_queues(card);
5029+
if (rc) {
5030+
QETH_CARD_TEXT_(card, 2, "9err%d", rc);
5031+
goto out;
5032+
}
5033+
50295034
return 0;
50305035
out:
50315036
dev_warn(&card->gdev->dev, "The qeth device driver failed to recover "

drivers/s390/net/qeth_l2_main.c

Lines changed: 1 addition & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -288,11 +288,11 @@ static void qeth_l2_stop_card(struct qeth_card *card)
288288
}
289289
if (card->state == CARD_STATE_HARDSETUP) {
290290
qeth_drain_output_queues(card);
291-
qeth_clear_working_pool_list(card);
292291
card->state = CARD_STATE_DOWN;
293292
}
294293

295294
qeth_qdio_clear_card(card, 0);
295+
qeth_clear_working_pool_list(card);
296296
flush_workqueue(card->event_wq);
297297
card->info.mac_bits &= ~QETH_LAYER2_MAC_REGISTERED;
298298
card->info.promisc_mode = 0;
@@ -787,12 +787,6 @@ static int qeth_l2_set_online(struct ccwgroup_device *gdev)
787787
/* softsetup */
788788
QETH_CARD_TEXT(card, 2, "softsetp");
789789

790-
rc = qeth_init_qdio_queues(card);
791-
if (rc) {
792-
QETH_CARD_TEXT_(card, 2, "6err%d", rc);
793-
rc = -ENODEV;
794-
goto out_remove;
795-
}
796790
card->state = CARD_STATE_SOFTSETUP;
797791

798792
qeth_set_allowed_threads(card, 0xffffffff, 0);

drivers/s390/net/qeth_l3_main.c

Lines changed: 1 addition & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1184,11 +1184,11 @@ static void qeth_l3_stop_card(struct qeth_card *card)
11841184
}
11851185
if (card->state == CARD_STATE_HARDSETUP) {
11861186
qeth_drain_output_queues(card);
1187-
qeth_clear_working_pool_list(card);
11881187
card->state = CARD_STATE_DOWN;
11891188
}
11901189

11911190
qeth_qdio_clear_card(card, 0);
1191+
qeth_clear_working_pool_list(card);
11921192
flush_workqueue(card->event_wq);
11931193
card->info.promisc_mode = 0;
11941194
}
@@ -2097,12 +2097,6 @@ static int qeth_l3_set_online(struct ccwgroup_device *gdev)
20972097
QETH_CARD_TEXT_(card, 2, "5err%04x", rc);
20982098
}
20992099

2100-
rc = qeth_init_qdio_queues(card);
2101-
if (rc) {
2102-
QETH_CARD_TEXT_(card, 2, "6err%d", rc);
2103-
rc = -ENODEV;
2104-
goto out_remove;
2105-
}
21062100
card->state = CARD_STATE_SOFTSETUP;
21072101

21082102
qeth_set_allowed_threads(card, 0xffffffff, 0);

0 commit comments

Comments
 (0)