Re: reserve= not working, drivers fail to do check_region

David Hinds (dhinds@hyper.stanford.edu)
10 Jan 1997 17:24:00 GMT


Thomas Sailer (sailer@ife.ee.ethz.ch) wrote:
: > There are two sorts of things that should be fixed here: drivers that
: > call check_region() when passed a specific address should be fixed to
: > not do that, and drivers that don't call check_region before automatic
: > probes should be fixed to check first.

: This as a very dangerous idea. There are currently drivers competing
: for the same hardware resource. For example the serial and the baycom
: drivers. When the serial driver gets loaded, it grabs all serial
: ports it finds. Now when someone afterwards loads the baycom driver
: and tells it to use a specific COM port, it would, using your idea,
: use this specific port and the serial driver would not know anything
: about that. This would result in two drivers trying to drive
: the same hardware with different ideas :-)

I think you're misreading something here. My statement addresses
exactly the sort of problem that you're raising here. In this
example, the correct thing to do would be to use reserve= to prevent
the serial driver from probing the Baycom port (which will work if the
serial driver calls check_region before probing). Then, pass the
address to the Baycom driver, which will ignore the reserve= since
you've specified an explicit address.

-- Dave