struct brcmf_if *ifp;
        const struct brcmf_vndr_dcmd_hdr *cmdhdr = data;
        struct sk_buff *reply;
-       int ret, payload, ret_len;
+       unsigned int payload, ret_len;
        void *dcmd_buf = NULL, *wr_pointer;
        u16 msglen, maxmsglen = PAGE_SIZE - 0x100;
+       int ret;
 
        if (len < sizeof(*cmdhdr)) {
                brcmf_err("vendor command too short: %d\n", len);
                        brcmf_err("oversize return buffer %d\n", ret_len);
                        ret_len = BRCMF_DCMD_MAXLEN;
                }
-               payload = max(ret_len, len) + 1;
+               payload = max_t(unsigned int, ret_len, len) + 1;
                dcmd_buf = vzalloc(payload);
                if (NULL == dcmd_buf)
                        return -ENOMEM;