diff -Nur linux-2.4.17/drivers/sound/sb_card.c linux-2.4.17-kd/drivers/sound/sb_card.c --- linux-2.4.17/drivers/sound/sb_card.c Fri Dec 21 18:41:55 2001 +++ linux-2.4.17-kd/drivers/sound/sb_card.c Sat Jan 19 14:38:44 2002 @@ -54,6 +54,14 @@ * 28-10-2000 Added pnplegacy support * Daniel Church * + * 06-08-2001 Added no_hlt option + * On some hardware combinations halting the CPU generates + * noice on the sound output. Until now the solution has + * been to give the kernel a no-hlt argument. This option + * allows turning off halting only while the sb module is + * loaded. + * Kasper Dupont + * * 01-10-2001 Added a new flavor of Creative SB AWE64 PnP (CTL00E9). * Jerome Cornet */ @@ -212,6 +220,7 @@ static int multiple = 0; static int pnplegacy = 0; #endif +static int no_hlt = 0; MODULE_DESCRIPTION("Soundblaster driver"); MODULE_LICENSE("GPL"); @@ -225,6 +234,7 @@ MODULE_PARM(sm_games, "i"); MODULE_PARM(esstype, "i"); MODULE_PARM(acer, "i"); +MODULE_PARM(no_hlt, "i"); #if defined CONFIG_ISAPNP || defined CONFIG_ISAPNP_MODULE MODULE_PARM(isapnp, "i"); @@ -250,6 +260,7 @@ MODULE_PARM_DESC(sm_games, "Enable support for Logitech soundman games"); MODULE_PARM_DESC(esstype, "ESS chip type"); MODULE_PARM_DESC(acer, "Set this to detect cards in some ACER notebooks"); +MODULE_PARM_DESC(no_hlt, "Used to avoid noice on some hardware combinations"); #if defined CONFIG_ISAPNP || defined CONFIG_ISAPNP_MODULE @@ -982,6 +993,10 @@ sbmpu[card] = 1; } +#ifdef HAVE_DISABLE_HLT + if (no_hlt) disable_hlt(); +#endif + if(isapnp) printk(KERN_NOTICE "sb: %d Soundblaster PnP card(s) found.\n", sb_cards_num); @@ -992,6 +1007,10 @@ { int i; +#ifdef HAVE_DISABLE_HLT + if (no_hlt) enable_hlt(); +#endif + if (smw_free) { vfree(smw_free); smw_free = NULL;