diff options
-rw-r--r-- | drivers/parport/share.c | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/drivers/parport/share.c b/drivers/parport/share.c index bc090daa850a..5dc53d420ca8 100644 --- a/drivers/parport/share.c +++ b/drivers/parport/share.c | |||
@@ -939,8 +939,10 @@ parport_register_dev_model(struct parport *port, const char *name, | |||
939 | * pardevice fields. -arca | 939 | * pardevice fields. -arca |
940 | */ | 940 | */ |
941 | port->ops->init_state(par_dev, par_dev->state); | 941 | port->ops->init_state(par_dev, par_dev->state); |
942 | port->proc_device = par_dev; | 942 | if (!test_and_set_bit(PARPORT_DEVPROC_REGISTERED, &port->devflags)) { |
943 | parport_device_proc_register(par_dev); | 943 | port->proc_device = par_dev; |
944 | parport_device_proc_register(par_dev); | ||
945 | } | ||
944 | 946 | ||
945 | return par_dev; | 947 | return par_dev; |
946 | 948 | ||