Skip to content

Commit

Permalink
Dont touch fs_struct in drivers
Browse files Browse the repository at this point in the history
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>
  • Loading branch information
Jan Blunck authored and Linus Torvalds committed Feb 15, 2008
1 parent 000cb48 commit 0d63e4f
Show file tree
Hide file tree
Showing 7 changed files with 6 additions and 19 deletions.
2 changes: 0 additions & 2 deletions drivers/pnp/pnpbios/core.c
Expand Up @@ -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))) {
Expand Down
4 changes: 2 additions & 2 deletions sound/core/seq/seq_clientmgr.c
Expand Up @@ -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)
Expand Down
3 changes: 0 additions & 3 deletions sound/core/seq/seq_device.c
Expand Up @@ -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) &&
Expand Down
4 changes: 0 additions & 4 deletions sound/core/sound.c
Expand Up @@ -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)
Expand All @@ -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;
Expand Down
2 changes: 0 additions & 2 deletions sound/core/timer.c
Expand Up @@ -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)
Expand Down
5 changes: 2 additions & 3 deletions sound/ppc/daca.c
Expand Up @@ -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)
Expand Down
5 changes: 2 additions & 3 deletions sound/ppc/tumbler.c
Expand Up @@ -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)
Expand Down

0 comments on commit 0d63e4f

Please sign in to comment.