mirror of
https://github.com/FEX-Emu/linux.git
synced 2024-12-13 20:33:15 +00:00
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>
This commit is contained in:
parent
000cb48ee1
commit
0d63e4f9ea
@ -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))) {
|
||||||
|
@ -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)
|
||||||
|
@ -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) &&
|
||||||
|
@ -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;
|
||||||
|
@ -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)
|
||||||
|
@ -250,9 +250,8 @@ int __init snd_pmac_daca_init(struct snd_pmac *chip)
|
|||||||
struct pmac_daca *mix;
|
struct pmac_daca *mix;
|
||||||
|
|
||||||
#ifdef CONFIG_KMOD
|
#ifdef CONFIG_KMOD
|
||||||
if (current->fs->root)
|
request_module("i2c-powermac");
|
||||||
request_module("i2c-powermac");
|
#endif /* CONFIG_KMOD */
|
||||||
#endif /* CONFIG_KMOD */
|
|
||||||
|
|
||||||
mix = kzalloc(sizeof(*mix), GFP_KERNEL);
|
mix = kzalloc(sizeof(*mix), GFP_KERNEL);
|
||||||
if (! mix)
|
if (! mix)
|
||||||
|
@ -1351,9 +1351,8 @@ int __init snd_pmac_tumbler_init(struct snd_pmac *chip)
|
|||||||
char *chipname;
|
char *chipname;
|
||||||
|
|
||||||
#ifdef CONFIG_KMOD
|
#ifdef CONFIG_KMOD
|
||||||
if (current->fs->root)
|
request_module("i2c-powermac");
|
||||||
request_module("i2c-powermac");
|
#endif /* CONFIG_KMOD */
|
||||||
#endif /* CONFIG_KMOD */
|
|
||||||
|
|
||||||
mix = kzalloc(sizeof(*mix), GFP_KERNEL);
|
mix = kzalloc(sizeof(*mix), GFP_KERNEL);
|
||||||
if (! mix)
|
if (! mix)
|
||||||
|
Loading…
Reference in New Issue
Block a user