usb_free_all_descriptors(f);
 }
 
+static void gser_resume(struct usb_function *f)
+{
+       struct f_gser *gser = func_to_gser(f);
+
+       gserial_resume(&gser->port);
+}
+
+static void gser_suspend(struct usb_function *f)
+{
+       struct f_gser *gser = func_to_gser(f);
+
+       gserial_suspend(&gser->port);
+}
+
 static struct usb_function *gser_alloc(struct usb_function_instance *fi)
 {
        struct f_gser   *gser;
        gser->port.func.set_alt = gser_set_alt;
        gser->port.func.disable = gser_disable;
        gser->port.func.free_func = gser_free;
+       gser->port.func.resume = gser_resume;
+       gser->port.func.suspend = gser_suspend;
 
        return &gser->port.func;
 }