diff
- 	bitmap_free(cdev->watched_lines);
+ 	if (cdev->watched_lines) {
+ 		bitmap_free(cdev->watched_lines);
+ 		cdev->watched_lines = NULL;
+ 	}
  	blocking_notifier_chain_unregister(&gdev->device_notifier,
 					   &cdev->device_unregistered_nb);
  	blocking_notifier_chain_unregister(&gdev->line_state_notifier,
 					   &cdev->lineinfo_changed_nb);
  	gpio_device_put(gdev);
  	kfree(cdev);
