diff options
Diffstat (limited to 'drivers/isdn/gigaset/common.c')
-rw-r--r-- | drivers/isdn/gigaset/common.c | 13 |
1 files changed, 7 insertions, 6 deletions
diff --git a/drivers/isdn/gigaset/common.c b/drivers/isdn/gigaset/common.c index e55767b2ccd3..acb7e2656780 100644 --- a/drivers/isdn/gigaset/common.c +++ b/drivers/isdn/gigaset/common.c | |||
@@ -460,6 +460,9 @@ void gigaset_freecs(struct cardstate *cs) | |||
460 | 460 | ||
461 | switch (cs->cs_init) { | 461 | switch (cs->cs_init) { |
462 | default: | 462 | default: |
463 | /* clear device sysfs */ | ||
464 | gigaset_free_dev_sysfs(cs); | ||
465 | |||
463 | gigaset_if_free(cs); | 466 | gigaset_if_free(cs); |
464 | 467 | ||
465 | gig_dbg(DEBUG_INIT, "clearing hw"); | 468 | gig_dbg(DEBUG_INIT, "clearing hw"); |
@@ -699,6 +702,7 @@ struct cardstate *gigaset_initcs(struct gigaset_driver *drv, int channels, | |||
699 | cs->open_count = 0; | 702 | cs->open_count = 0; |
700 | cs->dev = NULL; | 703 | cs->dev = NULL; |
701 | cs->tty = NULL; | 704 | cs->tty = NULL; |
705 | cs->class = NULL; | ||
702 | cs->cidmode = cidmode != 0; | 706 | cs->cidmode = cidmode != 0; |
703 | 707 | ||
704 | //if(onechannel) { //FIXME | 708 | //if(onechannel) { //FIXME |
@@ -760,6 +764,9 @@ struct cardstate *gigaset_initcs(struct gigaset_driver *drv, int channels, | |||
760 | 764 | ||
761 | gigaset_if_init(cs); | 765 | gigaset_if_init(cs); |
762 | 766 | ||
767 | /* set up device sysfs */ | ||
768 | gigaset_init_dev_sysfs(cs); | ||
769 | |||
763 | spin_lock_irqsave(&cs->lock, flags); | 770 | spin_lock_irqsave(&cs->lock, flags); |
764 | cs->running = 1; | 771 | cs->running = 1; |
765 | spin_unlock_irqrestore(&cs->lock, flags); | 772 | spin_unlock_irqrestore(&cs->lock, flags); |
@@ -902,9 +909,6 @@ int gigaset_start(struct cardstate *cs) | |||
902 | 909 | ||
903 | wait_event(cs->waitqueue, !cs->waiting); | 910 | wait_event(cs->waitqueue, !cs->waiting); |
904 | 911 | ||
905 | /* set up device sysfs */ | ||
906 | gigaset_init_dev_sysfs(cs); | ||
907 | |||
908 | mutex_unlock(&cs->mutex); | 912 | mutex_unlock(&cs->mutex); |
909 | return 1; | 913 | return 1; |
910 | 914 | ||
@@ -969,9 +973,6 @@ void gigaset_stop(struct cardstate *cs) | |||
969 | //FIXME | 973 | //FIXME |
970 | } | 974 | } |
971 | 975 | ||
972 | /* clear device sysfs */ | ||
973 | gigaset_free_dev_sysfs(cs); | ||
974 | |||
975 | cleanup_cs(cs); | 976 | cleanup_cs(cs); |
976 | 977 | ||
977 | exit: | 978 | exit: |