diff options
author | OGAWA Hirofumi <hirofumi@mail.parknet.co.jp> | 2006-03-31 05:30:33 -0500 |
---|---|---|
committer | Linus Torvalds <torvalds@g5.osdl.org> | 2006-03-31 15:18:53 -0500 |
commit | 9b41046cd0ee0a57f849d6e1363f7933e363cca9 (patch) | |
tree | 246820e9493770e071cb92a48e7f72d8b9c90a98 /drivers/pcmcia | |
parent | 68eef3b4791572ecb70249c7fb145bb3742dd899 (diff) |
[PATCH] Don't pass boot parameters to argv_init[]
The boot cmdline is parsed in parse_early_param() and
parse_args(,unknown_bootoption).
And __setup() is used in obsolete_checksetup().
start_kernel()
-> parse_args()
-> unknown_bootoption()
-> obsolete_checksetup()
If __setup()'s callback (->setup_func()) returns 1 in
obsolete_checksetup(), obsolete_checksetup() thinks a parameter was
handled.
If ->setup_func() returns 0, obsolete_checksetup() tries other
->setup_func(). If all ->setup_func() that matched a parameter returns 0,
a parameter is seted to argv_init[].
Then, when runing /sbin/init or init=app, argv_init[] is passed to the app.
If the app doesn't ignore those arguments, it will warning and exit.
This patch fixes a wrong usage of it, however fixes obvious one only.
Signed-off-by: OGAWA Hirofumi <hirofumi@mail.parknet.co.jp>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
Diffstat (limited to 'drivers/pcmcia')
-rw-r--r-- | drivers/pcmcia/vrc4171_card.c | 12 | ||||
-rw-r--r-- | drivers/pcmcia/vrc4173_cardu.c | 8 |
2 files changed, 10 insertions, 10 deletions
diff --git a/drivers/pcmcia/vrc4171_card.c b/drivers/pcmcia/vrc4171_card.c index 0574efd7828a..459e6e1946fd 100644 --- a/drivers/pcmcia/vrc4171_card.c +++ b/drivers/pcmcia/vrc4171_card.c | |||
@@ -634,7 +634,7 @@ static void vrc4171_remove_sockets(void) | |||
634 | static int __devinit vrc4171_card_setup(char *options) | 634 | static int __devinit vrc4171_card_setup(char *options) |
635 | { | 635 | { |
636 | if (options == NULL || *options == '\0') | 636 | if (options == NULL || *options == '\0') |
637 | return 0; | 637 | return 1; |
638 | 638 | ||
639 | if (strncmp(options, "irq:", 4) == 0) { | 639 | if (strncmp(options, "irq:", 4) == 0) { |
640 | int irq; | 640 | int irq; |
@@ -644,7 +644,7 @@ static int __devinit vrc4171_card_setup(char *options) | |||
644 | vrc4171_irq = irq; | 644 | vrc4171_irq = irq; |
645 | 645 | ||
646 | if (*options != ',') | 646 | if (*options != ',') |
647 | return 0; | 647 | return 1; |
648 | options++; | 648 | options++; |
649 | } | 649 | } |
650 | 650 | ||
@@ -663,10 +663,10 @@ static int __devinit vrc4171_card_setup(char *options) | |||
663 | } | 663 | } |
664 | 664 | ||
665 | if (*options != ',') | 665 | if (*options != ',') |
666 | return 0; | 666 | return 1; |
667 | options++; | 667 | options++; |
668 | } else | 668 | } else |
669 | return 0; | 669 | return 1; |
670 | 670 | ||
671 | } | 671 | } |
672 | 672 | ||
@@ -688,7 +688,7 @@ static int __devinit vrc4171_card_setup(char *options) | |||
688 | } | 688 | } |
689 | 689 | ||
690 | if (*options != ',') | 690 | if (*options != ',') |
691 | return 0; | 691 | return 1; |
692 | options++; | 692 | options++; |
693 | 693 | ||
694 | if (strncmp(options, "memnoprobe", 10) == 0) | 694 | if (strncmp(options, "memnoprobe", 10) == 0) |
@@ -700,7 +700,7 @@ static int __devinit vrc4171_card_setup(char *options) | |||
700 | } | 700 | } |
701 | } | 701 | } |
702 | 702 | ||
703 | return 0; | 703 | return 1; |
704 | } | 704 | } |
705 | 705 | ||
706 | __setup("vrc4171_card=", vrc4171_card_setup); | 706 | __setup("vrc4171_card=", vrc4171_card_setup); |
diff --git a/drivers/pcmcia/vrc4173_cardu.c b/drivers/pcmcia/vrc4173_cardu.c index 57f38dba0a48..6004196f7cc1 100644 --- a/drivers/pcmcia/vrc4173_cardu.c +++ b/drivers/pcmcia/vrc4173_cardu.c | |||
@@ -516,7 +516,7 @@ static int __devinit vrc4173_cardu_probe(struct pci_dev *dev, | |||
516 | static int __devinit vrc4173_cardu_setup(char *options) | 516 | static int __devinit vrc4173_cardu_setup(char *options) |
517 | { | 517 | { |
518 | if (options == NULL || *options == '\0') | 518 | if (options == NULL || *options == '\0') |
519 | return 0; | 519 | return 1; |
520 | 520 | ||
521 | if (strncmp(options, "cardu1:", 7) == 0) { | 521 | if (strncmp(options, "cardu1:", 7) == 0) { |
522 | options += 7; | 522 | options += 7; |
@@ -527,9 +527,9 @@ static int __devinit vrc4173_cardu_setup(char *options) | |||
527 | } | 527 | } |
528 | 528 | ||
529 | if (*options != ',') | 529 | if (*options != ',') |
530 | return 0; | 530 | return 1; |
531 | } else | 531 | } else |
532 | return 0; | 532 | return 1; |
533 | } | 533 | } |
534 | 534 | ||
535 | if (strncmp(options, "cardu2:", 7) == 0) { | 535 | if (strncmp(options, "cardu2:", 7) == 0) { |
@@ -538,7 +538,7 @@ static int __devinit vrc4173_cardu_setup(char *options) | |||
538 | cardu_sockets[CARDU2].noprobe = 1; | 538 | cardu_sockets[CARDU2].noprobe = 1; |
539 | } | 539 | } |
540 | 540 | ||
541 | return 0; | 541 | return 1; |
542 | } | 542 | } |
543 | 543 | ||
544 | __setup("vrc4173_cardu=", vrc4173_cardu_setup); | 544 | __setup("vrc4173_cardu=", vrc4173_cardu_setup); |