When building this on a 64-bit platform gcc rightly warns that the
error checking is broken (-ENOMEM stored in an u32 does not compare
greater than (unsigned long)-MAX_ERRNO). Instead, now that
qe_muram_alloc() returns s32, use that type to store the return value
and use standard kernel style "ret < 0".

Signed-off-by: Rasmus Villemoes <li...@rasmusvillemoes.dk>
---
 drivers/net/wan/fsl_ucc_hdlc.c | 10 +++++-----
 drivers/net/wan/fsl_ucc_hdlc.h |  2 +-
 2 files changed, 6 insertions(+), 6 deletions(-)

diff --git a/drivers/net/wan/fsl_ucc_hdlc.c b/drivers/net/wan/fsl_ucc_hdlc.c
index ce6af7d5380f..405b24a5a60d 100644
--- a/drivers/net/wan/fsl_ucc_hdlc.c
+++ b/drivers/net/wan/fsl_ucc_hdlc.c
@@ -84,8 +84,8 @@ static int uhdlc_init(struct ucc_hdlc_private *priv)
        int ret, i;
        void *bd_buffer;
        dma_addr_t bd_dma_addr;
-       u32 riptr;
-       u32 tiptr;
+       s32 riptr;
+       s32 tiptr;
        u32 gumr;
 
        ut_info = priv->ut_info;
@@ -195,7 +195,7 @@ static int uhdlc_init(struct ucc_hdlc_private *priv)
        priv->ucc_pram_offset = qe_muram_alloc(sizeof(struct ucc_hdlc_param),
                                ALIGNMENT_OF_UCC_HDLC_PRAM);
 
-       if (IS_ERR_VALUE(priv->ucc_pram_offset)) {
+       if (priv->ucc_pram_offset < 0) {
                dev_err(priv->dev, "Can not allocate MURAM for hdlc 
parameter.\n");
                ret = -ENOMEM;
                goto free_tx_bd;
@@ -233,14 +233,14 @@ static int uhdlc_init(struct ucc_hdlc_private *priv)
 
        /* Alloc riptr, tiptr */
        riptr = qe_muram_alloc(32, 32);
-       if (IS_ERR_VALUE(riptr)) {
+       if (riptr < 0) {
                dev_err(priv->dev, "Cannot allocate MURAM mem for Receive 
internal temp data pointer\n");
                ret = -ENOMEM;
                goto free_tx_skbuff;
        }
 
        tiptr = qe_muram_alloc(32, 32);
-       if (IS_ERR_VALUE(tiptr)) {
+       if (tiptr < 0) {
                dev_err(priv->dev, "Cannot allocate MURAM mem for Transmit 
internal temp data pointer\n");
                ret = -ENOMEM;
                goto free_riptr;
diff --git a/drivers/net/wan/fsl_ucc_hdlc.h b/drivers/net/wan/fsl_ucc_hdlc.h
index 8b3507ae1781..71d5ad0a7b98 100644
--- a/drivers/net/wan/fsl_ucc_hdlc.h
+++ b/drivers/net/wan/fsl_ucc_hdlc.h
@@ -98,7 +98,7 @@ struct ucc_hdlc_private {
 
        unsigned short tx_ring_size;
        unsigned short rx_ring_size;
-       u32 ucc_pram_offset;
+       s32 ucc_pram_offset;
 
        unsigned short encoding;
        unsigned short parity;
-- 
2.23.0

Reply via email to