Found using smatch:
drivers/dma/at_hdmac.c:299 atc_get_bytes_left() warn: unsigned
'atchan->remain_desc' is never less than zero.
Signed-off-by: Alexandre Belloni <alexandre.belloni@free-electrons.com>
Signed-off-by: Vinod Koul <vinod.koul@intel.com>
                        ret = -EINVAL;
                        goto out;
                }
-               atchan->remain_desc -= (desc_cur->lli.ctrla & ATC_BTSIZE_MAX)
-                                               << (desc_first->tx_width);
-               if (atchan->remain_desc < 0) {
+
+               count = (desc_cur->lli.ctrla & ATC_BTSIZE_MAX)
+                       << desc_first->tx_width;
+               if (atchan->remain_desc < count) {
                        ret = -EINVAL;
                        goto out;
-               } else {
-                       ret = atchan->remain_desc;
                }
+
+               atchan->remain_desc -= count;
+               ret = atchan->remain_desc;
        } else {
                /*
                 * Get residual bytes when current