I noticed this while tracking down an oops. If there's any sort of error in device_add(), register_done is jumped to. At that point, device_sem is up()'d twice. This patch fixes that. -- It's not denial. I'm just selective about the reality I accept. -- Bill Watterson