/* we always allocate at least 2048 bytes for eager buffers */
        ret = ib_mtu_enum_to_int(qib_ibmtu);
        dd->rcvegrbufsize = ret != -1 ? max(ret, 2048) : QIB_DEFAULT_MTU;
-       BUG_ON(!is_power_of_2(dd->rcvegrbufsize));
        dd->rcvegrbufsize_shift = ilog2(dd->rcvegrbufsize);
 
        qib_6120_tidtemplate(dd);
 
        /* we always allocate at least 2048 bytes for eager buffers */
        ret = ib_mtu_enum_to_int(qib_ibmtu);
        dd->rcvegrbufsize = ret != -1 ? max(ret, 2048) : QIB_DEFAULT_MTU;
-       BUG_ON(!is_power_of_2(dd->rcvegrbufsize));
        dd->rcvegrbufsize_shift = ilog2(dd->rcvegrbufsize);
 
        qib_7220_tidtemplate(dd);
                unsigned word = i / 64;
                unsigned bit = i & 63;
 
-               BUG_ON(word >= 3);
                senddmabufmask[word] |= 1ULL << bit;
        }
        qib_write_kreg(dd, kr_senddmabufmask0, senddmabufmask[0]);
 
                                        *msg++ = ',';
                                        len--;
                                }
-                               BUG_ON(!msp->sz);
                                /* msp->sz counts the nul */
                                took = min_t(size_t, msp->sz - (size_t)1, len);
                                memcpy(msg,  msp->msg, took);
 
        /* we always allocate at least 2048 bytes for eager buffers */
        dd->rcvegrbufsize = max(mtu, 2048);
-       BUG_ON(!is_power_of_2(dd->rcvegrbufsize));
        dd->rcvegrbufsize_shift = ilog2(dd->rcvegrbufsize);
 
        qib_7322_tidtemplate(dd);
                unsigned word = erstbuf / BITS_PER_LONG;
                unsigned bit = erstbuf & (BITS_PER_LONG - 1);
 
-               BUG_ON(word >= 3);
                senddmabufmask[word] |= 1ULL << bit;
        }
        qib_write_kreg_port(ppd, krp_senddmabufmask0, senddmabufmask[0]);
 
                rcd->rcvegrbuf_chunks = (rcd->rcvegrcnt +
                        rcd->rcvegrbufs_perchunk - 1) /
                        rcd->rcvegrbufs_perchunk;
-               BUG_ON(!is_power_of_2(rcd->rcvegrbufs_perchunk));
                rcd->rcvegrbufs_perchunk_shift =
                        ilog2(rcd->rcvegrbufs_perchunk);
        }
 
                        len = sge->length;
                if (len > sge->sge_length)
                        len = sge->sge_length;
-               BUG_ON(len == 0);
                dw = (len + 3) >> 2;
                addr = dma_map_single(&ppd->dd->pcidev->dev, sge->vaddr,
                                      dw << 2, DMA_TO_DEVICE);
 
                        len = length;
                if (len > sge->sge_length)
                        len = sge->sge_length;
-               BUG_ON(len == 0);
                rvt_copy_sge(qp, &qp->r_sge, sge->vaddr, len, true, false);
                sge->vaddr += len;
                sge->length -= len;
 
 
                ret = qib_user_sdma_rb_insert(&qib_user_sdma_rb_root,
                                        sdma_rb_node);
-               BUG_ON(ret == 0);
        }
        pq->sdma_rb_node = sdma_rb_node;
 
 
                        len = length;
                if (len > sge.sge_length)
                        len = sge.sge_length;
-               BUG_ON(len == 0);
                if (((long) sge.vaddr & (sizeof(u32) - 1)) ||
                    (len != length && (len & (sizeof(u32) - 1)))) {
                        ndesc = 0;
                        len = length;
                if (len > sge->sge_length)
                        len = sge->sge_length;
-               BUG_ON(len == 0);
                memcpy(data, sge->vaddr, len);
                sge->vaddr += len;
                sge->length -= len;
                        len = length;
                if (len > ss->sge.sge_length)
                        len = ss->sge.sge_length;
-               BUG_ON(len == 0);
                /* If the source address is not aligned, try to align it. */
                off = (unsigned long)ss->sge.vaddr & (sizeof(u32) - 1);
                if (off) {