diff options
author | Karsten Graul <kgraul@linux.ibm.com> | 2020-07-26 20:34:27 +0200 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2020-07-27 10:30:01 -0700 |
commit | 211e5b7a0007e6a172eafdb89c512768f82d73bf (patch) | |
tree | 35123f4dd8d7452897655949f7af6ab8039da460 /drivers/s390 | |
parent | d21a06d5d8268fb2d5e542c9e189db0556fc534c (diff) | |
download | linux-211e5b7a0007e6a172eafdb89c512768f82d73bf.tar.bz2 |
s390/ism: indicate correct error reason in ism_alloc_dmb()
When the ism driver allocates a new dmb in ism_alloc_dmb() it must
first check for and reserve a slot in the sba bitmap. When
find_next_zero_bit() finds no free slot then the return code is -ENOMEM.
This code conflicts with the error when the alloc() fails later in the
code. As a result of that the caller can not differentiate
between out-of-memory conditions and sba-bitmap-full conditions.
Fix that by using the return code -ENOSPC when the sba slot
reservation failed.
Reviewed-by: Ursula Braun <ubraun@linux.ibm.com>
Signed-off-by: Karsten Graul <kgraul@linux.ibm.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'drivers/s390')
-rw-r--r-- | drivers/s390/net/ism_drv.c | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/drivers/s390/net/ism_drv.c b/drivers/s390/net/ism_drv.c index c7fade836d83..5fbe9eae84d1 100644 --- a/drivers/s390/net/ism_drv.c +++ b/drivers/s390/net/ism_drv.c @@ -231,7 +231,7 @@ static int ism_alloc_dmb(struct ism_dev *ism, struct smcd_dmb *dmb) bit = find_next_zero_bit(ism->sba_bitmap, ISM_NR_DMBS, ISM_DMB_BIT_OFFSET); if (bit == ISM_NR_DMBS) - return -ENOMEM; + return -ENOSPC; dmb->sba_idx = bit; } |