s390/qdio: don't allocate *aob array with GFP_ATOMIC

The only way to reach this allocation is via

qdio_establish()
  qdio_detect_hsicq()
    qdio_enable_async_operation()

and since qdio_establish() uses wait_event_*() just a few lines ealier,
we can trust that it certainly is never called from atomic context.

Signed-off-by: Julian Wiedmann <jwi@linux.ibm.com>
Reviewed-by: Steffen Maier <maier@linux.ibm.com>
Signed-off-by: Vasily Gorbik <gor@linux.ibm.com>
This commit is contained in:
Julian Wiedmann 2020-02-05 09:41:42 +01:00 committed by Vasily Gorbik
parent 0b6f499022
commit 11f0446534
1 changed files with 1 additions and 1 deletions

View File

@ -536,7 +536,7 @@ void qdio_print_subchannel_info(struct qdio_irq *irq_ptr,
int qdio_enable_async_operation(struct qdio_output_q *outq) int qdio_enable_async_operation(struct qdio_output_q *outq)
{ {
outq->aobs = kcalloc(QDIO_MAX_BUFFERS_PER_Q, sizeof(struct qaob *), outq->aobs = kcalloc(QDIO_MAX_BUFFERS_PER_Q, sizeof(struct qaob *),
GFP_ATOMIC); GFP_KERNEL);
if (!outq->aobs) { if (!outq->aobs) {
outq->use_cq = 0; outq->use_cq = 0;
return -ENOMEM; return -ENOMEM;