Netdev List
 help / color / mirror / Atom feed
From: Borislav Petkov <petkov@uni-muenster.de>
To: Andrew Morton <akpm@osdl.org>
Cc: netdev@vger.kernel.org, linux-kernel@vger.kernel.org
Subject: Re: [PATCH] remove check_region from PnPWakeUp routine of Eepro ISA driver
Date: Thu, 22 Sep 2005 08:29:44 +0200	[thread overview]
Message-ID: <20050922062943.GA31805@gollum.tnic> (raw)
In-Reply-To: <20050921230915.364f0ac9.akpm@osdl.org>

On Wed, Sep 21, 2005 at 11:09:15PM -0700, Andrew Morton wrote:
> Borislav Petkov <petkov@uni-muenster.de> wrote:
> >
> >  Hi,
> > 
> >  The following patch removes the check_region call in the PnPWakeUp
> >  path in the Eepro /10 ISA driver. Instead, now it calls request_region
> >  for the PnP wake up routine and, after succeeding, it calls release_region
> >  for the actual reservation of I/O ports takes place in the eepro_probe1() 
> >  function straight afterwards.
> > 
> >  Signed-off-by: Borislav Petkov <petkov@uni-muenster.de>
> > 
> > 
> > --- drivers/net/eepro.c.orig	2005-09-22 06:20:28.000000000 +0200
> > +++ drivers/net/eepro.c	2005-09-22 07:20:16.000000000 +0200
> > @@ -552,7 +552,7 @@ static int __init do_eepro_probe(struct 
> >  	{
> >  		unsigned short int WS[32]=WakeupSeq;
> >  
> > -		if (check_region(WakeupPort, 2)==0) {
> > +		if (request_region(WakeupPort, 2, DRV_NAME)) {
> >  
> >  			if (net_debug>5)
> >  				printk(KERN_DEBUG "Waking UP\n");
> > @@ -563,6 +563,8 @@ static int __init do_eepro_probe(struct 
> >  				outb_p(WS[i],WakeupPort);
> >  				if (net_debug>5) printk(KERN_DEBUG ": %#x ",WS[i]);
> >  			}
> > +			release_region(WakeupPort, 2);
> > +
> >  		} else printk(KERN_WARNING "Checkregion Failed!\n");
> >  	}
> >  #endif
> 
> hm, that's all a bit strange.  It would be better to do the
> request_region() just once and if that works, retain the reservation rather
> than releasing and reacquiring it.
I thought so at first too but was having problems with the call to
eepro_probe1() a bit further down where request_region() is called a second time
and this would have resulted in two consecutive calls to request_region for the
same region without freeing it. I guess in the actual __request_region() in the
while loop, during the second call IORESOURCE_BUSY will be returned meaning that
the region is already reserved?
> 
> That being said, the code you've modified is disabled due to
> !defined(PnPWakeup), and the chances of anyone ever changing that are close
> to zero.
should I remove it then altogether?

Regards,
		Boris.

  reply	other threads:[~2005-09-22  6:29 UTC|newest]

Thread overview: 4+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2005-09-22  6:00 [PATCH] remove check_region from PnPWakeUp routine of Eepro ISA driver Borislav Petkov
2005-09-22  6:09 ` Andrew Morton
2005-09-22  6:29   ` Borislav Petkov [this message]
2005-09-22  6:37     ` Andrew Morton

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20050922062943.GA31805@gollum.tnic \
    --to=petkov@uni-muenster.de \
    --cc=akpm@osdl.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=netdev@vger.kernel.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox