diff
9 		qeth_free_qdio_queues(card);
+ 	unsigned int old_no_out_queues = card->qdio.no_out_queues;
+ 	card->qdio.no_out_queues = max;
+ 	for (int i = 0; i < max; i++) {
+ 		if (!card->qdio.out_qs[i]) {
+ 			card->qdio.out_qs[i] = qeth_alloc_output_queue();
+ 			if (!card->qdio.out_qs[i]) {
+ 				card->qdio.no_out_queues = old_no_out_queues;
+ 				qeth_free_qdio_queues(card);
+ 				dev_err(&card->gdev->dev, "Failed to allocate output queue %d\n", i);
+ 				return;
+ 			}
+ 		}
+ 	}
- 14 	card->qdio.no_out_queues = max;
