diff options
author | Jan Blunck <jblunck@suse.de> | 2008-02-14 22:34:28 -0500 |
---|---|---|
committer | Linus Torvalds <torvalds@woody.linux-foundation.org> | 2008-02-15 00:13:32 -0500 |
commit | 0d63e4f9ea61df1d727bd52a174aba732e6e1853 (patch) | |
tree | 70bde9b57a6081fed6ac22acbfc3298d79f94362 | |
parent | 000cb48ee18165776b5a2beb72ed18f66bc61878 (diff) |
Dont touch fs_struct in drivers
The sound drivers and the pnpbios core test for current->root != NULL. This
test seems to be unnecessary since we always have rootfs mounted before
initializing the drivers.
Signed-off-by: Jan Blunck <jblunck@suse.de>
Acked-by: Christoph Hellwig <hch@lst.de>
Cc: Bjorn Helgaas <bjorn.helgaas@hp.com>
Cc: Jaroslav Kysela <perex@suse.cz>
Acked-by: Takashi Iwai <tiwai@suse.de>
Cc: Al Viro <viro@zeniv.linux.org.uk>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
-rw-r--r-- | drivers/pnp/pnpbios/core.c | 2 | ||||
-rw-r--r-- | sound/core/seq/seq_clientmgr.c | 4 | ||||
-rw-r--r-- | sound/core/seq/seq_device.c | 3 | ||||
-rw-r--r-- | sound/core/sound.c | 4 | ||||
-rw-r--r-- | sound/core/timer.c | 2 | ||||
-rw-r--r-- | sound/ppc/daca.c | 5 | ||||
-rw-r--r-- | sound/ppc/tumbler.c | 5 |
7 files changed, 6 insertions, 19 deletions
diff --git a/drivers/pnp/pnpbios/core.c b/drivers/pnp/pnpbios/core.c index f7e67197a568..a8a51500e1e9 100644 --- a/drivers/pnp/pnpbios/core.c +++ b/drivers/pnp/pnpbios/core.c | |||
@@ -105,8 +105,6 @@ static int pnp_dock_event(int dock, struct pnp_docking_station_info *info) | |||
105 | char *argv[3], **envp, *buf, *scratch; | 105 | char *argv[3], **envp, *buf, *scratch; |
106 | int i = 0, value; | 106 | int i = 0, value; |
107 | 107 | ||
108 | if (!current->fs->root) | ||
109 | return -EAGAIN; | ||
110 | if (!(envp = kcalloc(20, sizeof(char *), GFP_KERNEL))) | 108 | if (!(envp = kcalloc(20, sizeof(char *), GFP_KERNEL))) |
111 | return -ENOMEM; | 109 | return -ENOMEM; |
112 | if (!(buf = kzalloc(256, GFP_KERNEL))) { | 110 | if (!(buf = kzalloc(256, GFP_KERNEL))) { |
diff --git a/sound/core/seq/seq_clientmgr.c b/sound/core/seq/seq_clientmgr.c index f97c1ba43a28..47cfa5186e34 100644 --- a/sound/core/seq/seq_clientmgr.c +++ b/sound/core/seq/seq_clientmgr.c | |||
@@ -149,13 +149,13 @@ struct snd_seq_client *snd_seq_client_use_ptr(int clientid) | |||
149 | } | 149 | } |
150 | spin_unlock_irqrestore(&clients_lock, flags); | 150 | spin_unlock_irqrestore(&clients_lock, flags); |
151 | #ifdef CONFIG_KMOD | 151 | #ifdef CONFIG_KMOD |
152 | if (!in_interrupt() && current->fs->root) { | 152 | if (!in_interrupt()) { |
153 | static char client_requested[SNDRV_SEQ_GLOBAL_CLIENTS]; | 153 | static char client_requested[SNDRV_SEQ_GLOBAL_CLIENTS]; |
154 | static char card_requested[SNDRV_CARDS]; | 154 | static char card_requested[SNDRV_CARDS]; |
155 | if (clientid < SNDRV_SEQ_GLOBAL_CLIENTS) { | 155 | if (clientid < SNDRV_SEQ_GLOBAL_CLIENTS) { |
156 | int idx; | 156 | int idx; |
157 | 157 | ||
158 | if (! client_requested[clientid] && current->fs->root) { | 158 | if (!client_requested[clientid]) { |
159 | client_requested[clientid] = 1; | 159 | client_requested[clientid] = 1; |
160 | for (idx = 0; idx < 15; idx++) { | 160 | for (idx = 0; idx < 15; idx++) { |
161 | if (seq_client_load[idx] < 0) | 161 | if (seq_client_load[idx] < 0) |
diff --git a/sound/core/seq/seq_device.c b/sound/core/seq/seq_device.c index 155dc7da4722..2f00ad28a2b7 100644 --- a/sound/core/seq/seq_device.c +++ b/sound/core/seq/seq_device.c | |||
@@ -149,9 +149,6 @@ void snd_seq_device_load_drivers(void) | |||
149 | if (snd_seq_in_init) | 149 | if (snd_seq_in_init) |
150 | return; | 150 | return; |
151 | 151 | ||
152 | if (! current->fs->root) | ||
153 | return; | ||
154 | |||
155 | mutex_lock(&ops_mutex); | 152 | mutex_lock(&ops_mutex); |
156 | list_for_each_entry(ops, &opslist, list) { | 153 | list_for_each_entry(ops, &opslist, list) { |
157 | if (! (ops->driver & DRIVER_LOADED) && | 154 | if (! (ops->driver & DRIVER_LOADED) && |
diff --git a/sound/core/sound.c b/sound/core/sound.c index 00cca4d6e562..812f91b3de5b 100644 --- a/sound/core/sound.c +++ b/sound/core/sound.c | |||
@@ -71,8 +71,6 @@ static DEFINE_MUTEX(sound_mutex); | |||
71 | */ | 71 | */ |
72 | void snd_request_card(int card) | 72 | void snd_request_card(int card) |
73 | { | 73 | { |
74 | if (! current->fs->root) | ||
75 | return; | ||
76 | if (snd_card_locked(card)) | 74 | if (snd_card_locked(card)) |
77 | return; | 75 | return; |
78 | if (card < 0 || card >= cards_limit) | 76 | if (card < 0 || card >= cards_limit) |
@@ -86,8 +84,6 @@ static void snd_request_other(int minor) | |||
86 | { | 84 | { |
87 | char *str; | 85 | char *str; |
88 | 86 | ||
89 | if (! current->fs->root) | ||
90 | return; | ||
91 | switch (minor) { | 87 | switch (minor) { |
92 | case SNDRV_MINOR_SEQUENCER: str = "snd-seq"; break; | 88 | case SNDRV_MINOR_SEQUENCER: str = "snd-seq"; break; |
93 | case SNDRV_MINOR_TIMER: str = "snd-timer"; break; | 89 | case SNDRV_MINOR_TIMER: str = "snd-timer"; break; |
diff --git a/sound/core/timer.c b/sound/core/timer.c index aece465934b8..9d8184a2c2d0 100644 --- a/sound/core/timer.c +++ b/sound/core/timer.c | |||
@@ -150,8 +150,6 @@ static struct snd_timer *snd_timer_find(struct snd_timer_id *tid) | |||
150 | 150 | ||
151 | static void snd_timer_request(struct snd_timer_id *tid) | 151 | static void snd_timer_request(struct snd_timer_id *tid) |
152 | { | 152 | { |
153 | if (! current->fs->root) | ||
154 | return; | ||
155 | switch (tid->dev_class) { | 153 | switch (tid->dev_class) { |
156 | case SNDRV_TIMER_CLASS_GLOBAL: | 154 | case SNDRV_TIMER_CLASS_GLOBAL: |
157 | if (tid->device < timer_limit) | 155 | if (tid->device < timer_limit) |
diff --git a/sound/ppc/daca.c b/sound/ppc/daca.c index 8432c16cd6ff..ca9452901a50 100644 --- a/sound/ppc/daca.c +++ b/sound/ppc/daca.c | |||
@@ -250,9 +250,8 @@ int __init snd_pmac_daca_init(struct snd_pmac *chip) | |||
250 | struct pmac_daca *mix; | 250 | struct pmac_daca *mix; |
251 | 251 | ||
252 | #ifdef CONFIG_KMOD | 252 | #ifdef CONFIG_KMOD |
253 | if (current->fs->root) | 253 | request_module("i2c-powermac"); |
254 | request_module("i2c-powermac"); | 254 | #endif /* CONFIG_KMOD */ |
255 | #endif /* CONFIG_KMOD */ | ||
256 | 255 | ||
257 | mix = kzalloc(sizeof(*mix), GFP_KERNEL); | 256 | mix = kzalloc(sizeof(*mix), GFP_KERNEL); |
258 | if (! mix) | 257 | if (! mix) |
diff --git a/sound/ppc/tumbler.c b/sound/ppc/tumbler.c index 71a7a9765429..3f8d7164cef9 100644 --- a/sound/ppc/tumbler.c +++ b/sound/ppc/tumbler.c | |||
@@ -1351,9 +1351,8 @@ int __init snd_pmac_tumbler_init(struct snd_pmac *chip) | |||
1351 | char *chipname; | 1351 | char *chipname; |
1352 | 1352 | ||
1353 | #ifdef CONFIG_KMOD | 1353 | #ifdef CONFIG_KMOD |
1354 | if (current->fs->root) | 1354 | request_module("i2c-powermac"); |
1355 | request_module("i2c-powermac"); | 1355 | #endif /* CONFIG_KMOD */ |
1356 | #endif /* CONFIG_KMOD */ | ||
1357 | 1356 | ||
1358 | mix = kzalloc(sizeof(*mix), GFP_KERNEL); | 1357 | mix = kzalloc(sizeof(*mix), GFP_KERNEL); |
1359 | if (! mix) | 1358 | if (! mix) |