Dont touch fs_struct in drivers
authorJan Blunck <jblunck@suse.de>
Fri, 15 Feb 2008 03:34:28 +0000 (19:34 -0800)
committerLinus Torvalds <torvalds@woody.linux-foundation.org>
Fri, 15 Feb 2008 05:13:32 +0000 (21:13 -0800)
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>
drivers/pnp/pnpbios/core.c
sound/core/seq/seq_clientmgr.c
sound/core/seq/seq_device.c
sound/core/sound.c
sound/core/timer.c
sound/ppc/daca.c
sound/ppc/tumbler.c

index f7e67197a56847c9d937ab0cb2efd595ee3fc306..a8a51500e1e9aae008cfc1cddc9ef547f4b6e10e 100644 (file)
@@ -105,8 +105,6 @@ static int pnp_dock_event(int dock, struct pnp_docking_station_info *info)
        char *argv[3], **envp, *buf, *scratch;
        int i = 0, value;
 
-       if (!current->fs->root)
-               return -EAGAIN;
        if (!(envp = kcalloc(20, sizeof(char *), GFP_KERNEL)))
                return -ENOMEM;
        if (!(buf = kzalloc(256, GFP_KERNEL))) {
index f97c1ba43a2820c5ae956442f554a9cc7aa9b4be..47cfa5186e34e15f4775f6c15172b136f90a3999 100644 (file)
@@ -149,13 +149,13 @@ struct snd_seq_client *snd_seq_client_use_ptr(int clientid)
        }
        spin_unlock_irqrestore(&clients_lock, flags);
 #ifdef CONFIG_KMOD
-       if (!in_interrupt() && current->fs->root) {
+       if (!in_interrupt()) {
                static char client_requested[SNDRV_SEQ_GLOBAL_CLIENTS];
                static char card_requested[SNDRV_CARDS];
                if (clientid < SNDRV_SEQ_GLOBAL_CLIENTS) {
                        int idx;
                        
-                       if (! client_requested[clientid] && current->fs->root) {
+                       if (!client_requested[clientid]) {
                                client_requested[clientid] = 1;
                                for (idx = 0; idx < 15; idx++) {
                                        if (seq_client_load[idx] < 0)
index 155dc7da47222d5f5c0ab954a24bb80e85625a25..2f00ad28a2b73e1089df52642106aa2d4f82a8fe 100644 (file)
@@ -149,9 +149,6 @@ void snd_seq_device_load_drivers(void)
        if (snd_seq_in_init)
                return;
 
-       if (! current->fs->root)
-               return;
-
        mutex_lock(&ops_mutex);
        list_for_each_entry(ops, &opslist, list) {
                if (! (ops->driver & DRIVER_LOADED) &&
index 00cca4d6e56226e454484b0fc660102c55f1bdc4..812f91b3de5b88fca9259dece4ac4c4a5787a551 100644 (file)
@@ -71,8 +71,6 @@ static DEFINE_MUTEX(sound_mutex);
  */
 void snd_request_card(int card)
 {
-       if (! current->fs->root)
-               return;
        if (snd_card_locked(card))
                return;
        if (card < 0 || card >= cards_limit)
@@ -86,8 +84,6 @@ static void snd_request_other(int minor)
 {
        char *str;
 
-       if (! current->fs->root)
-               return;
        switch (minor) {
        case SNDRV_MINOR_SEQUENCER:     str = "snd-seq";        break;
        case SNDRV_MINOR_TIMER:         str = "snd-timer";      break;
index aece465934b86aa5f4266870b7e3cc7c1e745b1b..9d8184a2c2d06350f44d294fdabd3d4797c6b638 100644 (file)
@@ -150,8 +150,6 @@ static struct snd_timer *snd_timer_find(struct snd_timer_id *tid)
 
 static void snd_timer_request(struct snd_timer_id *tid)
 {
-       if (! current->fs->root)
-               return;
        switch (tid->dev_class) {
        case SNDRV_TIMER_CLASS_GLOBAL:
                if (tid->device < timer_limit)
index 8432c16cd6ffb9cdb86d5a2d37a2a09a8e55b733..ca9452901a50517e139f1e7784e327659b0bff48 100644 (file)
@@ -250,9 +250,8 @@ int __init snd_pmac_daca_init(struct snd_pmac *chip)
        struct pmac_daca *mix;
 
 #ifdef CONFIG_KMOD
-       if (current->fs->root)
-               request_module("i2c-powermac");
-#endif /* CONFIG_KMOD */       
+       request_module("i2c-powermac");
+#endif /* CONFIG_KMOD */
 
        mix = kzalloc(sizeof(*mix), GFP_KERNEL);
        if (! mix)
index 71a7a97654298b8545184d20dd633bfab4317113..3f8d7164cef9438407b3f00128739438f92069b7 100644 (file)
@@ -1351,9 +1351,8 @@ int __init snd_pmac_tumbler_init(struct snd_pmac *chip)
        char *chipname;
 
 #ifdef CONFIG_KMOD
-       if (current->fs->root)
-               request_module("i2c-powermac");
-#endif /* CONFIG_KMOD */       
+       request_module("i2c-powermac");
+#endif /* CONFIG_KMOD */
 
        mix = kzalloc(sizeof(*mix), GFP_KERNEL);
        if (! mix)