kfree(acm);
 }
 
+static void acm_resume(struct usb_function *f)
+{
+       struct f_acm *acm = func_to_acm(f);
+
+       gserial_resume(&acm->port);
+}
+
+static void acm_suspend(struct usb_function *f)
+{
+       struct f_acm *acm = func_to_acm(f);
+
+       gserial_suspend(&acm->port);
+}
+
 static struct usb_function *acm_alloc_func(struct usb_function_instance *fi)
 {
        struct f_serial_opts *opts;
        acm->port_num = opts->port_num;
        acm->port.func.unbind = acm_unbind;
        acm->port.func.free_func = acm_free_func;
+       acm->port.func.resume = acm_resume;
+       acm->port.func.suspend = acm_suspend;
 
        return &acm->port.func;
 }