Re: [BUG] IDE: 2.6.26-rc5-git5 ide_generic leaks resources breaking my NE2000 NIC

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Bartlomiej Zolnierkiewicz writes:
 > From: Bartlomiej Zolnierkiewicz <bzolnier@xxxxxxxxx>
 > Subject: [PATCH] ide-generic: don't probe all legacy ISA IDE ports by default
 > 
 > We can't probe all legacy ISA IDE ports by default as the resources may be
 > occupied by other ISA devices.  Add "probe_mask" module parameter and probe
 > only first two ISA IDE ports by default leaving the decision about probing
 > the rest to the user (systems with ISA ide2-6 should be very, very rare).
 > 
 > This fixes a regression caused by:
 > 
 > commit 343a3451e20314d5959b59b992e33fbaadfe52bf
 > Author: Bartlomiej Zolnierkiewicz <bzolnier@xxxxxxxxx>
 > Date:   Tue Jun 10 20:56:36 2008 +0200
 > 
 >     ide-generic: add missing hwif->chipset setup
 > ...
 > 
 > Reported-by: Mikael Pettersson <mikpe@xxxxxxxx>
 > Bisected-by: Mikael Pettersson <mikpe@xxxxxxxx>
 > Cc: Alan Cox <alan@xxxxxxxxxxxxxxxxxxx>
 > Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier@xxxxxxxxx>

This fixes the regression on my old box. Thanks.

Tested-by: Mikael Pettersson <mikpe@xxxxxxxx>

 > ---
 >  drivers/ide/ide-generic.c |    9 ++++++++-
 >  1 file changed, 8 insertions(+), 1 deletion(-)
 > 
 > Index: b/drivers/ide/ide-generic.c
 > ===================================================================
 > --- a/drivers/ide/ide-generic.c
 > +++ b/drivers/ide/ide-generic.c
 > @@ -22,6 +22,10 @@
 >  
 >  #define DRV_NAME	"ide_generic"
 >  
 > +static int probe_mask = 0x03;
 > +module_param(probe_mask, int, 0);
 > +MODULE_PARM_DESC(probe_mask, "probe mask for legacy ISA IDE ports");
 > +
 >  static ssize_t store_add(struct class *cls, const char *buf, size_t n)
 >  {
 >  	ide_hwif_t *hwif;
 > @@ -89,6 +93,9 @@ static int __init ide_generic_init(void)
 >  	u8 idx[MAX_HWIFS];
 >  	int i;
 >  
 > +	printk(KERN_INFO DRV_NAME ": please use \"probe_mask=0x3f\" module "
 > +			 "parameter for probing all legacy ISA IDE ports\n");
 > +
 >  	for (i = 0; i < MAX_HWIFS; i++) {
 >  		ide_hwif_t *hwif;
 >  		unsigned long io_addr = ide_default_io_base(i);
 > @@ -96,7 +103,7 @@ static int __init ide_generic_init(void)
 >  
 >  		idx[i] = 0xff;
 >  
 > -		if (io_addr) {
 > +		if ((probe_mask & (1 << i)) && io_addr) {
 >  			if (!request_region(io_addr, 8, DRV_NAME)) {
 >  				printk(KERN_ERR "%s: I/O resource 0x%lX-0x%lX "
 >  						"not free.\n",
 > 
--
To unsubscribe from this list: send the line "unsubscribe linux-ide" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html

[Index of Archives]     [Linux Filesystems]     [Linux SCSI]     [Linux RAID]     [Git]     [Kernel Newbies]     [Linux Newbie]     [Security]     [Netfilter]     [Bugtraq]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Samba]     [Device Mapper]

  Powered by Linux