linux/drivers/s390
Julian Wiedmann 8311c7a252 s390/qeth: clean up error path in qeth_core_probe_device()
qeth_core_free_card() is meant to be the counterpart of
qeth_alloc_card() - but unfortunately was also picked as the place
to free the QDIO queues.

This gets messy when qeth_core_probe_device() fails during
qeth_add_dbf_entry(). At this point the card->qdio.state is not initialized
yet, so qeth_free_qdio_queues() ends up operating on uninitialized data.

Luckily for now, the whole qeth_card struct is zero-allocated and the value
of the QETH_QDIO_UNINITIALIZED enum is 0 as well. So there's no real impact
from this bug at the moment, it's just really fragile.

Clean this up by moving the qeth_free_qdio_queues() call up one level in
the hierarchy. This way it doesn't get called from the error path.

Signed-off-by: Julian Wiedmann <jwi@linux.ibm.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
2019-11-14 18:16:51 -08:00
..
block Revert "s390/dasd: Add discard support for ESE volumes" 2019-10-01 09:53:36 -06:00
char s390 updates for the 5.4 merge window 2019-09-17 14:04:43 -07:00
cio s390/qdio: implement IQD Multi-Write 2019-10-31 12:32:59 -07:00
crypto s390/zcrypt: fix memleak at release 2019-10-22 17:55:51 +02:00
net s390/qeth: clean up error path in qeth_core_probe_device() 2019-11-14 18:16:51 -08:00
scsi scsi: zfcp: fix reaction on bit error threshold notification 2019-10-03 21:45:53 -04:00
virtio virtio/s390: fix race on airq_areas[] 2019-07-26 13:36:18 +02:00
Makefile s390: remove pointless drivers-y in drivers/s390/Makefile 2019-09-16 13:21:51 +02:00