Showing error 1276

User: Jiri Slaby
Error type: Leaving function in locked state
Error type description: Some lock is not unlocked on all paths of a function, so it is leaked
File location: drivers/input/misc/cm109.c
Line in file: 829
Project: Linux Kernel
Project version: 2.6.28
Tools: Stanse (1.2)
Entered: 2012-05-21 20:30:05 UTC


Source:

799}
800
801static int cm109_usb_resume(struct usb_interface *intf)
802{
803        struct cm109_dev *dev = usb_get_intfdata(intf);
804
805        dev_info(&intf->dev, "cm109: usb_resume\n");
806
807        mutex_lock(&dev->pm_mutex);
808        cm109_restore_state(dev);
809        mutex_unlock(&dev->pm_mutex);
810
811        return 0;
812}
813
814static int cm109_usb_pre_reset(struct usb_interface *intf)
815{
816        struct cm109_dev *dev = usb_get_intfdata(intf);
817
818        mutex_lock(&dev->pm_mutex);
819
820        /*
821         * Make sure input events don't try to toggle buzzer
822         * while we are resetting
823         */
824        dev->resetting = 1;
825        smp_wmb();
826
827        cm109_stop_traffic(dev);
828
829        return 0;
830}
831
832static int cm109_usb_post_reset(struct usb_interface *intf)
833{
834        struct cm109_dev *dev = usb_get_intfdata(intf);
835
836        dev->resetting = 0;
837        smp_wmb();
838
839        cm109_restore_state(dev);
Show full sources