u32 interval = 0;
        u32 mult = 0;
        u32 burst = 0;
-       int max_packet;
        int ret;
 
        desc = mep->desc;
        comp_desc = mep->comp_desc;
        mep->type = usb_endpoint_type(desc);
-       max_packet = usb_endpoint_maxp(desc);
-       mep->maxp = max_packet & GENMASK(10, 0);
+       mep->maxp = usb_endpoint_maxp(desc);
 
        switch (mtu->g.speed) {
        case USB_SPEED_SUPER:
                                usb_endpoint_xfer_int(desc)) {
                        interval = desc->bInterval;
                        interval = clamp_val(interval, 1, 16) - 1;
-                       mult = (max_packet & GENMASK(12, 11)) >> 11;
+                       mult = usb_endpoint_maxp_mult(desc) - 1;
                }
                break;
        default: