Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 0d63e4f9 authored by Jan Blunck's avatar Jan Blunck Committed by Linus Torvalds
Browse files

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: default avatarJan Blunck <jblunck@suse.de>
Acked-by: default avatarChristoph Hellwig <hch@lst.de>
Cc: Bjorn Helgaas <bjorn.helgaas@hp.com>
Cc: Jaroslav Kysela <perex@suse.cz>
Acked-by: default avatarTakashi Iwai <tiwai@suse.de>
Cc: Al Viro <viro@zeniv.linux.org.uk>
Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
parent 000cb48e
Loading
Loading
Loading
Loading
+0 −2
Original line number Original line Diff line number Diff line
@@ -105,8 +105,6 @@ static int pnp_dock_event(int dock, struct pnp_docking_station_info *info)
	char *argv[3], **envp, *buf, *scratch;
	char *argv[3], **envp, *buf, *scratch;
	int i = 0, value;
	int i = 0, value;


	if (!current->fs->root)
		return -EAGAIN;
	if (!(envp = kcalloc(20, sizeof(char *), GFP_KERNEL)))
	if (!(envp = kcalloc(20, sizeof(char *), GFP_KERNEL)))
		return -ENOMEM;
		return -ENOMEM;
	if (!(buf = kzalloc(256, GFP_KERNEL))) {
	if (!(buf = kzalloc(256, GFP_KERNEL))) {
+2 −2
Original line number Original line Diff line number Diff line
@@ -149,13 +149,13 @@ struct snd_seq_client *snd_seq_client_use_ptr(int clientid)
	}
	}
	spin_unlock_irqrestore(&clients_lock, flags);
	spin_unlock_irqrestore(&clients_lock, flags);
#ifdef CONFIG_KMOD
#ifdef CONFIG_KMOD
	if (!in_interrupt() && current->fs->root) {
	if (!in_interrupt()) {
		static char client_requested[SNDRV_SEQ_GLOBAL_CLIENTS];
		static char client_requested[SNDRV_SEQ_GLOBAL_CLIENTS];
		static char card_requested[SNDRV_CARDS];
		static char card_requested[SNDRV_CARDS];
		if (clientid < SNDRV_SEQ_GLOBAL_CLIENTS) {
		if (clientid < SNDRV_SEQ_GLOBAL_CLIENTS) {
			int idx;
			int idx;
			
			
			if (! client_requested[clientid] && current->fs->root) {
			if (!client_requested[clientid]) {
				client_requested[clientid] = 1;
				client_requested[clientid] = 1;
				for (idx = 0; idx < 15; idx++) {
				for (idx = 0; idx < 15; idx++) {
					if (seq_client_load[idx] < 0)
					if (seq_client_load[idx] < 0)
+0 −3
Original line number Original line Diff line number Diff line
@@ -149,9 +149,6 @@ void snd_seq_device_load_drivers(void)
	if (snd_seq_in_init)
	if (snd_seq_in_init)
		return;
		return;


	if (! current->fs->root)
		return;

	mutex_lock(&ops_mutex);
	mutex_lock(&ops_mutex);
	list_for_each_entry(ops, &opslist, list) {
	list_for_each_entry(ops, &opslist, list) {
		if (! (ops->driver & DRIVER_LOADED) &&
		if (! (ops->driver & DRIVER_LOADED) &&
+0 −4
Original line number Original line Diff line number Diff line
@@ -71,8 +71,6 @@ static DEFINE_MUTEX(sound_mutex);
 */
 */
void snd_request_card(int card)
void snd_request_card(int card)
{
{
	if (! current->fs->root)
		return;
	if (snd_card_locked(card))
	if (snd_card_locked(card))
		return;
		return;
	if (card < 0 || card >= cards_limit)
	if (card < 0 || card >= cards_limit)
@@ -86,8 +84,6 @@ static void snd_request_other(int minor)
{
{
	char *str;
	char *str;


	if (! current->fs->root)
		return;
	switch (minor) {
	switch (minor) {
	case SNDRV_MINOR_SEQUENCER:	str = "snd-seq";	break;
	case SNDRV_MINOR_SEQUENCER:	str = "snd-seq";	break;
	case SNDRV_MINOR_TIMER:		str = "snd-timer";	break;
	case SNDRV_MINOR_TIMER:		str = "snd-timer";	break;
+0 −2
Original line number Original line Diff line number Diff line
@@ -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)
static void snd_timer_request(struct snd_timer_id *tid)
{
{
	if (! current->fs->root)
		return;
	switch (tid->dev_class) {
	switch (tid->dev_class) {
	case SNDRV_TIMER_CLASS_GLOBAL:
	case SNDRV_TIMER_CLASS_GLOBAL:
		if (tid->device < timer_limit)
		if (tid->device < timer_limit)
Loading