if (le32_to_cpu(*q->headers.consumer) >= q->entries)
                *q->headers.consumer = cpu_to_le32(1);
        else
-               *q->headers.consumer = cpu_to_le32(le32_to_cpu(*q->headers.consumer)+1);
+               le32_add_cpu(q->headers.consumer, 1);
 
        if (wasfull) {
                switch (qid) {
 
                        scb->cmd.basic_io.sg_count = scb->sg_len;
 
                        if (scb->cmd.basic_io.lba)
-                               scb->cmd.basic_io.lba =
-                                   cpu_to_le32(le32_to_cpu
-                                               (scb->cmd.basic_io.lba) +
+                               le32_add_cpu(&scb->cmd.basic_io.lba,
                                                le16_to_cpu(scb->cmd.basic_io.
                                                            sector_count));
                        else
                        scb->cmd.basic_io.sg_count = scb->sg_len;
 
                        if (scb->cmd.basic_io.lba)
-                               scb->cmd.basic_io.lba =
-                                   cpu_to_le32(le32_to_cpu
-                                               (scb->cmd.basic_io.lba) +
+                               le32_add_cpu(&scb->cmd.basic_io.lba,
                                                le16_to_cpu(scb->cmd.basic_io.
                                                            sector_count));
                        else