All of lore.kernel.org
 help / color / mirror / Atom feed
* 2.4 vs 2.6 versions of include/linux/ioport.h
@ 2003-08-05 14:41 Gene Heskett
  2003-08-05 14:57 ` Randy.Dunlap
  2003-08-05 15:10 ` 2.4 vs 2.6 versions of include/linux/ioport.h Gene Heskett
  0 siblings, 2 replies; 29+ messages in thread
From: Gene Heskett @ 2003-08-05 14:41 UTC (permalink / raw)
  To: linux-kernel

Greetings;

In the 2.4 includes, find this in ioport.h
----
/* Compatibility cruft */
#define check_region(start,n)   __check_region(&ioport_resource, 
(start), (n))
[snip]
extern int __check_region(struct resource *, unsigned long, unsigned 
long);
----
But in the 2.6 version, find this:
----
/* Compatibility cruft */
[snip]
extern int __check_region(struct resource *, unsigned long, unsigned 
long);
[snip]
static inline int __deprecated check_region(unsigned long s, unsigned 
long n)
{
        return __check_region(&ioport_resource, s, n);
}
----
First, the define itself is missing in the 2.6 version.

Many drivers seem to use this call, and in that which I'm trying to 
build, the nforce and advansys modules use it.  And while the modules 
seem to build, they do not run properly.

I cannot run 2.6.x for extended tests because of the advansys breakage 
this causes.  I also haven't even tried to run X because of the 
nforce error reported when its built, the same error as attacks the 
advansys code.

Can I ask why this change was made, and is there a suitable 
replacement call available that these drivers could use instead of 
check_region(), as shown here in a snip from advansys.c?
----
if (check_region(iop, ASC_IOADR_GAP) != 0) {
...
if (check_region(iop_base, ASC_IOADR_GAP) != 0) {
...

Hopeing for some hints here.

-- 
Cheers, Gene
AMD K6-III@500mhz 320M
Athlon1600XP@1400mhz  512M
99.27% setiathome rank, not too shabby for a WV hillbilly
Yahoo.com attornies please note, additions to this message
by Gene Heskett are:
Copyright 2003 by Maurice Eugene Heskett, all rights reserved.


^ permalink raw reply	[flat|nested] 29+ messages in thread

* Re: 2.4 vs 2.6 versions of include/linux/ioport.h
  2003-08-05 14:41 2.4 vs 2.6 versions of include/linux/ioport.h Gene Heskett
@ 2003-08-05 14:57 ` Randy.Dunlap
  2003-08-05 15:22   ` Gene Heskett
  2003-08-06  0:50   ` 2.4 vs 2.6 versions of include/linux/ioport.h Gene Heskett
  2003-08-05 15:10 ` 2.4 vs 2.6 versions of include/linux/ioport.h Gene Heskett
  1 sibling, 2 replies; 29+ messages in thread
From: Randy.Dunlap @ 2003-08-05 14:57 UTC (permalink / raw)
  To: gene.heskett; +Cc: linux-kernel

On Tue, 5 Aug 2003 10:41:08 -0400 Gene Heskett <gene.heskett@verizon.net> wrote:

| Greetings;
| 
| In the 2.4 includes, find this in ioport.h
| ----
| /* Compatibility cruft */
| #define check_region(start,n)   __check_region(&ioport_resource, 
| (start), (n))
| [snip]
| extern int __check_region(struct resource *, unsigned long, unsigned 
| long);
| ----
| But in the 2.6 version, find this:
| ----
| /* Compatibility cruft */
| [snip]
| extern int __check_region(struct resource *, unsigned long, unsigned 
| long);
| [snip]
| static inline int __deprecated check_region(unsigned long s, unsigned 
| long n)
| {
|         return __check_region(&ioport_resource, s, n);
| }
| ----
| First, the define itself is missing in the 2.6 version.
| 
| Many drivers seem to use this call, and in that which I'm trying to 
| build, the nforce and advansys modules use it.  And while the modules 
| seem to build, they do not run properly.
| 
| I cannot run 2.6.x for extended tests because of the advansys breakage 
| this causes.  I also haven't even tried to run X because of the 
| nforce error reported when its built, the same error as attacks the 
| advansys code.
| 
| Can I ask why this change was made, and is there a suitable 
| replacement call available that these drivers could use instead of 
| check_region(), as shown here in a snip from advansys.c?
| ----
| if (check_region(iop, ASC_IOADR_GAP) != 0) {
| ...
| if (check_region(iop_base, ASC_IOADR_GAP) != 0) {
| ...
| 
| Hopeing for some hints here.

check_region() was racy.  Use request_region() instead.

   if (!request_region(iop, ASC_IOADR_GAP, "advansys")) {
   ...

   if (!request_region(iop_base, ASC_IOADR, "advansys")) {
   ...

Of course, if successful, this assigns the region to the driver,
while check_region() didn't do this, so release_region() should be
used as needed to return the resources.

--
~Randy

^ permalink raw reply	[flat|nested] 29+ messages in thread

* Re: 2.4 vs 2.6 versions of include/linux/ioport.h
  2003-08-05 14:41 2.4 vs 2.6 versions of include/linux/ioport.h Gene Heskett
  2003-08-05 14:57 ` Randy.Dunlap
@ 2003-08-05 15:10 ` Gene Heskett
  1 sibling, 0 replies; 29+ messages in thread
From: Gene Heskett @ 2003-08-05 15:10 UTC (permalink / raw)
  To: gene.heskett, linux-kernel

On Tuesday 05 August 2003 10:41, Gene Heskett wrote:
>Greetings;
>
>In the 2.4 includes, find this in ioport.h
>----
>/* Compatibility cruft */
>#define check_region(start,n)   __check_region(&ioport_resource,
>(start), (n))
>[snip]
>extern int __check_region(struct resource *, unsigned long, unsigned
>long);
>----
>But in the 2.6 version, find this:
>----
>/* Compatibility cruft */
>[snip]
>extern int __check_region(struct resource *, unsigned long, unsigned
>long);
>[snip]
>static inline int __deprecated check_region(unsigned long s,
> unsigned long n)
>{
>        return __check_region(&ioport_resource, s, n);
>}
>----
>First, the define itself is missing in the 2.6 version.

My mistake above, its been moved to a position above the comment and 
redefined as check_mem_region.

>
>Many drivers seem to use this call, and in that which I'm trying to
>build, the nforce and advansys modules use it.  And while the
> modules seem to build, they do not run properly.
>
>I cannot run 2.6.x for extended tests because of the advansys
> breakage this causes.  I also haven't even tried to run X because
> of the nforce error reported when its built, the same error as
> attacks the advansys code.
>
>Can I ask why this change was made, and is there a suitable
>replacement call available that these drivers could use instead of
>check_region(), as shown here in a snip from advansys.c?
>----
>if (check_region(iop, ASC_IOADR_GAP) != 0) {
>...
>if (check_region(iop_base, ASC_IOADR_GAP) != 0) {
>...
>
>Hopeing for some hints here.

-- 
Cheers, Gene
AMD K6-III@500mhz 320M
Athlon1600XP@1400mhz  512M
99.27% setiathome rank, not too shabby for a WV hillbilly
Yahoo.com attornies please note, additions to this message
by Gene Heskett are:
Copyright 2003 by Maurice Eugene Heskett, all rights reserved.


^ permalink raw reply	[flat|nested] 29+ messages in thread

* Re: 2.4 vs 2.6 versions of include/linux/ioport.h
  2003-08-05 14:57 ` Randy.Dunlap
@ 2003-08-05 15:22   ` Gene Heskett
  2003-08-05 15:45     ` Randy.Dunlap
  2003-08-06  0:50   ` 2.4 vs 2.6 versions of include/linux/ioport.h Gene Heskett
  1 sibling, 1 reply; 29+ messages in thread
From: Gene Heskett @ 2003-08-05 15:22 UTC (permalink / raw)
  To: Randy.Dunlap; +Cc: linux-kernel

On Tuesday 05 August 2003 10:57, Randy.Dunlap wrote:
>On Tue, 5 Aug 2003 10:41:08 -0400 Gene Heskett 
<gene.heskett@verizon.net> wrote:
>| Greetings;
>|
>| In the 2.4 includes, find this in ioport.h
>| ----
>| /* Compatibility cruft */
>| #define check_region(start,n)   __check_region(&ioport_resource,
>| (start), (n))
>| [snip]
>| extern int __check_region(struct resource *, unsigned long,
>| unsigned long);
>| ----
>| But in the 2.6 version, find this:
>| ----
>| /* Compatibility cruft */
>| [snip]
>| extern int __check_region(struct resource *, unsigned long,
>| unsigned long);
>| [snip]
>| static inline int __deprecated check_region(unsigned long s,
>| unsigned long n)
>| {
>|         return __check_region(&ioport_resource, s, n);
>| }
>| ----
>| First, the define itself is missing in the 2.6 version.
>|
>| Many drivers seem to use this call, and in that which I'm trying
>| to build, the nforce and advansys modules use it.  And while the
>| modules seem to build, they do not run properly.
>|
>| I cannot run 2.6.x for extended tests because of the advansys
>| breakage this causes.  I also haven't even tried to run X because
>| of the nforce error reported when its built, the same error as
>| attacks the advansys code.
>|
>| Can I ask why this change was made, and is there a suitable
>| replacement call available that these drivers could use instead of
>| check_region(), as shown here in a snip from advansys.c?
>| ----
>| if (check_region(iop, ASC_IOADR_GAP) != 0) {
>| ...
>| if (check_region(iop_base, ASC_IOADR_GAP) != 0) {
>| ...
>|
>| Hopeing for some hints here.
>
>check_region() was racy.  Use request_region() instead.
>
>   if (!request_region(iop, ASC_IOADR_GAP, "advansys")) {
>   ...
>
>   if (!request_region(iop_base, ASC_IOADR, "advansys")) {
>   ...
>
>Of course, if successful, this assigns the region to the driver,
>while check_region() didn't do this, so release_region() should be
>used as needed to return the resources.

Oops... I have a test compile going that changed those to 
check_mem_region.  And while I didn't change the i2c stuff, which 
still reports the error, advansys.o built w/o error this time.

Ok, so I can change that to !request_region, but I have NDI when to go 
about releasing it, if ever, for a kernel driver thats either there, 
and the hardware is used, or not because the hardware isn't present.  
It seems to me that if its allocated to this driver, and capable of 
being re-used at anytime, then the allocation should, once made, 
stand.  Or is my view of the world skewed and it should be done at 
the bottom of whatever conditional is involved?  Inquiring minds want 
to know.  I guess it all depends on what happens if the call is 
repeated.  Will it assign a new buffer each time?, thereby causeing a 
memory leak, or will it find its been done once and return success 
anyway?


Thanks very much for the quick response.

>--
>~Randy

-- 
Cheers, Gene
AMD K6-III@500mhz 320M
Athlon1600XP@1400mhz  512M
99.27% setiathome rank, not too shabby for a WV hillbilly
Yahoo.com attornies please note, additions to this message
by Gene Heskett are:
Copyright 2003 by Maurice Eugene Heskett, all rights reserved.


^ permalink raw reply	[flat|nested] 29+ messages in thread

* Re: 2.4 vs 2.6 versions of include/linux/ioport.h
  2003-08-05 15:22   ` Gene Heskett
@ 2003-08-05 15:45     ` Randy.Dunlap
  2003-08-05 19:08       ` Gene Heskett
  0 siblings, 1 reply; 29+ messages in thread
From: Randy.Dunlap @ 2003-08-05 15:45 UTC (permalink / raw)
  To: gene.heskett; +Cc: linux-kernel

On Tue, 5 Aug 2003 11:22:35 -0400 Gene Heskett <gene.heskett@verizon.net> wrote:

| On Tuesday 05 August 2003 10:57, Randy.Dunlap wrote:
| >On Tue, 5 Aug 2003 10:41:08 -0400 Gene Heskett 
| <gene.heskett@verizon.net> wrote:
| >| ----
| >| First, the define itself is missing in the 2.6 version.
| >|
| >| Many drivers seem to use this call, and in that which I'm trying
| >| to build, the nforce and advansys modules use it.  And while the
| >| modules seem to build, they do not run properly.
| >|
| >| I cannot run 2.6.x for extended tests because of the advansys
| >| breakage this causes.  I also haven't even tried to run X because
| >| of the nforce error reported when its built, the same error as
| >| attacks the advansys code.
| >|
| >| Can I ask why this change was made, and is there a suitable
| >| replacement call available that these drivers could use instead of
| >| check_region(), as shown here in a snip from advansys.c?
| >| ----
| >| if (check_region(iop, ASC_IOADR_GAP) != 0) {
| >| ...
| >| if (check_region(iop_base, ASC_IOADR_GAP) != 0) {
| >| ...
| >|
| >| Hopeing for some hints here.
| >
| >check_region() was racy.  Use request_region() instead.
| >
| >   if (!request_region(iop, ASC_IOADR_GAP, "advansys")) {
| >   ...
| >
| >   if (!request_region(iop_base, ASC_IOADR, "advansys")) {
| >   ...
| >
| >Of course, if successful, this assigns the region to the driver,
| >while check_region() didn't do this, so release_region() should be
| >used as needed to return the resources.
| 
| Oops... I have a test compile going that changed those to 
| check_mem_region.  And while I didn't change the i2c stuff, which 
| still reports the error, advansys.o built w/o error this time.
| 
| Ok, so I can change that to !request_region, but I have NDI when to go 
| about releasing it, if ever, for a kernel driver thats either there, 
| and the hardware is used, or not because the hardware isn't present.  

release_region() is already done for the normal case.
It needs to be added for the error cases in advansys_detect()
[wow, what a long function].
For your kernel(s) and known hardware, it may not be much of an
issue.  However, the in-kernel driver needs to be repaired, but
it seems that not many people have the hardware...

| It seems to me that if its allocated to this driver, and capable of 
| being re-used at anytime, then the allocation should, once made, 
| stand.

Yes, request_region() should keep the region assigned until the driver
is exiting (unloading).  release_region() is already done in
advansys_release().

| Or is my view of the world skewed and it should be done at 
| the bottom of whatever conditional is involved?  Inquiring minds want 
| to know.  I guess it all depends on what happens if the call is 
| repeated.  Will it assign a new buffer each time?, thereby causeing a 
| memory leak, or will it find its been done once and return success 
| anyway?

advansys_detect() should call release_region() if it encounters errors
[after it has called request_region() and returns an error].

request_region() doesn't assign buffers, it allocates IO resources,
as seen in /proc/ioports or /proc/iomem.  I don't know what happens
on repeated calls by the same driver|module, but in general a second
call will fail if the region is already allocated.

--
~Randy

^ permalink raw reply	[flat|nested] 29+ messages in thread

* Re: 2.4 vs 2.6 versions of include/linux/ioport.h
  2003-08-05 15:45     ` Randy.Dunlap
@ 2003-08-05 19:08       ` Gene Heskett
  2003-08-05 22:07         ` 2.4 vs 2.6 ver# extra configure info CONFIGURE_ARGS += --disable-debug --enable-final --with-java=/usr/java/j2re1.4.1sions " Gene Heskett
  0 siblings, 1 reply; 29+ messages in thread
From: Gene Heskett @ 2003-08-05 19:08 UTC (permalink / raw)
  To: Randy.Dunlap; +Cc: linux-kernel

On Tuesday 05 August 2003 11:45, Randy.Dunlap wrote:
>On Tue, 5 Aug 2003 11:22:35 -0400 Gene Heskett 
<gene.heskett@verizon.net> wrote:
>| On Tuesday 05 August 2003 10:57, Randy.Dunlap wrote:
>| >On Tue, 5 Aug 2003 10:41:08 -0400 Gene Heskett
>|
>| <gene.heskett@verizon.net> wrote:
>| >| ----
>| >| First, the define itself is missing in the 2.6 version.
>| >|
>| >| Many drivers seem to use this call, and in that which I'm
>| >| trying to build, the nforce and advansys modules use it.  And
>| >| while the modules seem to build, they do not run properly.
>| >|
>| >| I cannot run 2.6.x for extended tests because of the advansys
>| >| breakage this causes.  I also haven't even tried to run X
>| >| because of the nforce error reported when its built, the same
>| >| error as attacks the advansys code.
>| >|
>| >| Can I ask why this change was made, and is there a suitable
>| >| replacement call available that these drivers could use instead
>| >| of check_region(), as shown here in a snip from advansys.c?
>| >| ----
>| >| if (check_region(iop, ASC_IOADR_GAP) != 0) {
>| >| ...
>| >| if (check_region(iop_base, ASC_IOADR_GAP) != 0) {
>| >| ...
>| >|
>| >| Hopeing for some hints here.
>| >
>| >check_region() was racy.  Use request_region() instead.
>| >
>| >   if (!request_region(iop, ASC_IOADR_GAP, "advansys")) {
>| >   ...
>| >
>| >   if (!request_region(iop_base, ASC_IOADR, "advansys")) {
>| >   ...
>| >
>| >Of course, if successful, this assigns the region to the driver,
>| >while check_region() didn't do this, so release_region() should
>| > be used as needed to return the resources.
>|
>| Oops... I have a test compile going that changed those to
>| check_mem_region.  And while I didn't change the i2c stuff, which
>| still reports the error, advansys.o built w/o error this time.
>|
>| Ok, so I can change that to !request_region, but I have NDI when
>| to go about releasing it, if ever, for a kernel driver thats
>| either there, and the hardware is used, or not because the
>| hardware isn't present.
>
>release_region() is already done for the normal case.
>It needs to be added for the error cases in advansys_detect()
>[wow, what a long function].
>For your kernel(s) and known hardware, it may not be much of an
>issue.  However, the in-kernel driver needs to be repaired, but
>it seems that not many people have the hardware...
>
>| It seems to me that if its allocated to this driver, and capable
>| of being re-used at anytime, then the allocation should, once
>| made, stand.
>
>Yes, request_region() should keep the region assigned until the
> driver is exiting (unloading).  release_region() is already done in
> advansys_release().
>
>| Or is my view of the world skewed and it should be done at
>| the bottom of whatever conditional is involved?  Inquiring minds
>| want to know.  I guess it all depends on what happens if the call
>| is repeated.  Will it assign a new buffer each time?, thereby
>| causeing a memory leak, or will it find its been done once and
>| return success anyway?
>
>advansys_detect() should call release_region() if it encounters
> errors [after it has called request_region() and returns an error].
>
>request_region() doesn't assign buffers, it allocates IO resources,
>as seen in /proc/ioports or /proc/iomem.  I don't know what happens
>on repeated calls by the same driver|module, but in general a second
>call will fail if the region is already allocated.
>
>--
>~Randy

All that code is loosely bundled under the heading of advansys_init, 
and from the useage of a header constant in the code to control the 
"for (i = CONSTANT" loop above it, would appear to be looped 11 
times.  Thats not the correct syntax of course, but you get the idea 
I hope.

I've built it that way now, without any errors, so its time to go fire 
up a weed eater acording to the missus, and I'll do a test reboot 
later tonight just for any grins it might generate.  I also took all 
the i2c stuff out, and might try building that once I'm rebooted, but 
I think a name change was made from "modversions" in the 
lib/modules/version tree, so that will probably fail until I fix the 
&^%$@() makefile.

I'll let you know how it goes later.  Many thanks for the help, I 
figured I was dead and would have to go buy a (spit) adaptec card.

-- 
Cheers, Gene
AMD K6-III@500mhz 320M
Athlon1600XP@1400mhz  512M
99.27% setiathome rank, not too shabby for a WV hillbilly
Yahoo.com attornies please note, additions to this message
by Gene Heskett are:
Copyright 2003 by Maurice Eugene Heskett, all rights reserved.


^ permalink raw reply	[flat|nested] 29+ messages in thread

* Re: 2.4 vs 2.6 ver# extra configure info CONFIGURE_ARGS += --disable-debug --enable-final --with-java=/usr/java/j2re1.4.1sions of include/linux/ioport.h
  2003-08-05 19:08       ` Gene Heskett
@ 2003-08-05 22:07         ` Gene Heskett
  2003-08-06  0:26           ` Andrew McGregor
  2003-08-06  2:08           ` 2.5/2.6 NVidia (was Re: 2.4 vs 2.6 ver# Valdis.Kletnieks
  0 siblings, 2 replies; 29+ messages in thread
From: Gene Heskett @ 2003-08-05 22:07 UTC (permalink / raw)
  To: gene.heskett, Randy.Dunlap; +Cc: linux-kernel

On Tuesday 05 August 2003 15:08, Gene Heskett wrote:
>On Tuesday 05 August 2003 11:45, Randy.Dunlap wrote:
>>On Tue, 5 Aug 2003 11:22:35 -0400 Gene Heskett
>
><gene.heskett@verizon.net> wrote:
>>| On Tuesday 05 August 2003 10:57, Randy.Dunlap wrote:
>>| >On Tue, 5 Aug 2003 10:41:08 -0400 Gene Heskett
>>|
>>| <gene.heskett@verizon.net> wrote:
>>| >| ----
>>| >| First, the define itself is missing in the 2.6 version.
>>| >|
>>| >| Many drivers seem to use this call, and in that which I'm
>>| >| trying to build, the nforce and advansys modules use it.  And
>>| >| while the modules seem to build, they do not run properly.
>>| >|
>>| >| I cannot run 2.6.x for extended tests because of the advansys
>>| >| breakage this causes.  I also haven't even tried to run X
>>| >| because of the nforce error reported when its built, the same
>>| >| error as attacks the advansys code.
>>| >|
>>| >| Can I ask why this change was made, and is there a suitable
>>| >| replacement call available that these drivers could use
>>| >| instead of check_region(), as shown here in a snip from
>>| >| advansys.c? ----
>>| >| if (check_region(iop, ASC_IOADR_GAP) != 0) {
>>| >| ...
>>| >| if (check_region(iop_base, ASC_IOADR_GAP) != 0) {
>>| >| ...
>>| >|
>>| >| Hopeing for some hints here.
>>| >
>>| >check_region() was racy.  Use request_region() instead.
>>| >
>>| >   if (!request_region(iop, ASC_IOADR_GAP, "advansys")) {
>>| >   ...
>>| >
>>| >   if (!request_region(iop_base, ASC_IOADR, "advansys")) {
>>| >   ...
>>| >
>>| >Of course, if successful, this assigns the region to the driver,
>>| >while check_region() didn't do this, so release_region() should
>>| > be used as needed to return the resources.
>>|
>>| Oops... I have a test compile going that changed those to
>>| check_mem_region.  And while I didn't change the i2c stuff, which
>>| still reports the error, advansys.o built w/o error this time.
>>|
>>| Ok, so I can change that to !request_region, but I have NDI when
>>| to go about releasing it, if ever, for a kernel driver thats
>>| either there, and the hardware is used, or not because the
>>| hardware isn't present.
>>
>>release_region() is already done for the normal case.
>>It needs to be added for the error cases in advansys_detect()
>>[wow, what a long function].
>>For your kernel(s) and known hardware, it may not be much of an
>>issue.  However, the in-kernel driver needs to be repaired, but
>>it seems that not many people have the hardware...
>>
>>| It seems to me that if its allocated to this driver, and capable
>>| of being re-used at anytime, then the allocation should, once
>>| made, stand.
>>
>>Yes, request_region() should keep the region assigned until the
>> driver is exiting (unloading).  release_region() is already done
>> in advansys_release().
>>
>>| Or is my view of the world skewed and it should be done at
>>| the bottom of whatever conditional is involved?  Inquiring minds
>>| want to know.  I guess it all depends on what happens if the call
>>| is repeated.  Will it assign a new buffer each time?, thereby
>>| causeing a memory leak, or will it find its been done once and
>>| return success anyway?
>>
>>advansys_detect() should call release_region() if it encounters
>> errors [after it has called request_region() and returns an
>> error].
>>
>>request_region() doesn't assign buffers, it allocates IO resources,
>>as seen in /proc/ioports or /proc/iomem.  I don't know what happens
>>on repeated calls by the same driver|module, but in general a
>> second call will fail if the region is already allocated.
>>
>>--
>>~Randy
>
>All that code is loosely bundled under the heading of advansys_init,
>and from the useage of a header constant in the code to control the
>"for (i = CONSTANT" loop above it, would appear to be looped 11
>times.  Thats not the correct syntax of course, but you get the idea
>I hope.
>
>I've built it that way now, without any errors, so its time to go
> fire up a weed eater acording to the missus, and I'll do a test
> reboot later tonight just for any grins it might generate.  I also
> took all the i2c stuff out, and might try building that once I'm
> rebooted, but I think a name change was made from "modversions" in
> the
>lib/modules/version tree, so that will probably fail until I fix the
>&^%$@() makefile.
>
>I'll let you know how it goes later.  Many thanks for the help, I
>figured I was dead and would have to go buy a (spit) adaptec card.

Yeah, I know, its poor form to answer ones own posts, but here goes...

I built it as a module, rebooted to it, modprobed it in without 
incident, exercised it a bit too, so I changed the CONFIG_ADVANSYS 
from an m to a y and rebuilt it again while booted to 
2.6.0-test2(-mm2? dunno), then rebooted again.  I watched the memory 
with top, but the compile ate far more unused ram, as did setiathome, 
than the driver seemed to be useing so I couldn't tell if I have a 
leak or not.

Is there a utility for watching a given device drivers memory useage?

Now, the factory nvidia drivers will not build for 2.6, so I don't 
have any X.  Whats the status of the kernel versions vis-a-vis 
running a gforce2 MMX 32 megger?  I did run them for a while but the 
OpenGL stuff was missing.  If I can get that going, then lm_sensors 
is next.  I think.  In the meantime I'll see if I can figure out how 
to run a diff and submit it.  At this point, the diff will be against 
the 3.3GJ driver in the 2.4 kernel unless someone has some 
objections???

Many Thanks for the hand holding Randy, it was much appreciated.  
Sometimes I've been said to be vapor locked, needing a little choking 
to get me started. ;-)

-- 
Cheers, Gene
AMD K6-III@500mhz 320M
Athlon1600XP@1400mhz  512M
99.27% setiathome rank, not too shabby for a WV hillbilly
Yahoo.com attornies please note, additions to this message
by Gene Heskett are:
Copyright 2003 by Maurice Eugene Heskett, all rights reserved.


^ permalink raw reply	[flat|nested] 29+ messages in thread

* Re: 2.4 vs 2.6 ver# extra configure info CONFIGURE_ARGS += --disable-debug --enable-final --with-java=/usr/java/j2re1.4.1sions of include/linux/ioport.h
  2003-08-05 22:07         ` 2.4 vs 2.6 ver# extra configure info CONFIGURE_ARGS += --disable-debug --enable-final --with-java=/usr/java/j2re1.4.1sions " Gene Heskett
@ 2003-08-06  0:26           ` Andrew McGregor
  2003-08-06  1:56             ` 2.4 vs 2.6 versions " Gene Heskett
  2003-08-06  2:08           ` 2.5/2.6 NVidia (was Re: 2.4 vs 2.6 ver# Valdis.Kletnieks
  1 sibling, 1 reply; 29+ messages in thread
From: Andrew McGregor @ 2003-08-06  0:26 UTC (permalink / raw)
  To: gene.heskett, Randy.Dunlap; +Cc: linux-kernel

[-- Attachment #1: Type: text/plain, Size: 406 bytes --]



--On Tuesday, August 05, 2003 06:07:00 PM -0400 Gene Heskett 
<gene.heskett@verizon.net> wrote:

> Now, the factory nvidia drivers will not build for 2.6, so I don't
> have any X.  Whats the status of the kernel versions vis-a-vis
> running a gforce2 MMX 32 megger?

http://www.minion.de/

Patches for several recent NVidia driver versions.  Works for me on a 
GeForce2go.

Andrew





[-- Attachment #2: Type: application/pgp-signature, Size: 189 bytes --]

^ permalink raw reply	[flat|nested] 29+ messages in thread

* Re: 2.4 vs 2.6 versions of include/linux/ioport.h
  2003-08-05 14:57 ` Randy.Dunlap
  2003-08-05 15:22   ` Gene Heskett
@ 2003-08-06  0:50   ` Gene Heskett
  2003-08-06 17:40     ` advansys regions [Re: 2.4 vs 2.6 versions of include/linux/ioport.h] Randy.Dunlap
  1 sibling, 1 reply; 29+ messages in thread
From: Gene Heskett @ 2003-08-06  0:50 UTC (permalink / raw)
  To: Randy.Dunlap; +Cc: linux-kernel

[-- Attachment #1: Type: text/plain, Size: 2719 bytes --]

On Tuesday 05 August 2003 10:57, Randy.Dunlap wrote:
>On Tue, 5 Aug 2003 10:41:08 -0400 Gene Heskett 
<gene.heskett@verizon.net> wrote:
>| Greetings;
>|
>| In the 2.4 includes, find this in ioport.h
>| ----
>| /* Compatibility cruft */
>| #define check_region(start,n)   __check_region(&ioport_resource,
>| (start), (n))
>| [snip]
>| extern int __check_region(struct resource *, unsigned long,
>| unsigned long);
>| ----
>| But in the 2.6 version, find this:
>| ----
>| /* Compatibility cruft */
>| [snip]
>| extern int __check_region(struct resource *, unsigned long,
>| unsigned long);
>| [snip]
>| static inline int __deprecated check_region(unsigned long s,
>| unsigned long n)
>| {
>|         return __check_region(&ioport_resource, s, n);
>| }
>| ----
>| First, the define itself is missing in the 2.6 version.
>|
>| Many drivers seem to use this call, and in that which I'm trying
>| to build, the nforce and advansys modules use it.  And while the
>| modules seem to build, they do not run properly.
>|
>| I cannot run 2.6.x for extended tests because of the advansys
>| breakage this causes.  I also haven't even tried to run X because
>| of the nforce error reported when its built, the same error as
>| attacks the advansys code.
>|
>| Can I ask why this change was made, and is there a suitable
>| replacement call available that these drivers could use instead of
>| check_region(), as shown here in a snip from advansys.c?
>| ----
>| if (check_region(iop, ASC_IOADR_GAP) != 0) {
>| ...
>| if (check_region(iop_base, ASC_IOADR_GAP) != 0) {
>| ...
>|
>| Hopeing for some hints here.
>
>check_region() was racy.  Use request_region() instead.
>
>   if (!request_region(iop, ASC_IOADR_GAP, "advansys")) {
>   ...
>
>   if (!request_region(iop_base, ASC_IOADR, "advansys")) {
>   ...
>
>Of course, if successful, this assigns the region to the driver,
>while check_region() didn't do this, so release_region() should be
>used as needed to return the resources.

Randy, look the attached patch over & see if its suitable.  Its 
against the driver in the 2.6.0-test2 archive, and was done from 
within the drivers/scsi directory.  Its working fine here, booting 
and accessing my tape drive just fine with the advansys driver 
incorporated into the kernel, or as a module.  I didn't see any 
memory leakage, but my test method isn't definitive.

If its suitable, pass it on to Linus.  It will add one more card to 
the NOT broken by 2.6 list.

-- 
Cheers, Gene
AMD K6-III@500mhz 320M
Athlon1600XP@1400mhz  512M
99.27% setiathome rank, not too shabby for a WV hillbilly
Yahoo.com attornies please note, additions to this message
by Gene Heskett are:
Copyright 2003 by Maurice Eugene Heskett, all rights reserved.

[-- Attachment #2: patch-advansys.c-for-2.6 --]
[-- Type: text/x-diff, Size: 3769 bytes --]

--- advansys.c-orig	2003-07-27 12:59:39.000000000 -0400
+++ advansys.c	2003-08-05 20:28:37.000000000 -0400
@@ -1,5 +1,5 @@
-#define ASC_VERSION "3.3GJ"    /* AdvanSys Driver Version */
+#define ASC_VERSION "3.4MGH"    /* AdvanSys Driver Version */
 
 /*
  * advansys.c - Linux Host Driver for AdvanSys SCSI Adapters
  *
@@ -24,8 +24,15 @@
  *  ftp://ftp.connectcom.net/pub/linux/linux.tgz
  *
  * Please send questions, comments, bug reports to:
  *  support@connectcom.net
+ *  
+ *  Unforch, connectcom seems to have been bankrupt, and a new
+ *  company has bought some, but not all, of the advansys line.
+ *  What they, Initio I think it is, bought, did not include
+ *  the ABP-930 family, so this hardware is officially in the
+ *  orphaned state now.  This per a message Initio returned to me
+ *  Gene Heskett on about 08/03/2003.
  */
 
 /*
 
@@ -676,8 +683,12 @@
      3.3GJD (10/14/02):
          1. change select_queue_depths to slave_configure
 	 2. make cmd_per_lun be sane again
 
+     3.4MGH (08/05/2003)
+	 1. change check_region calls to request_region in an attempt
+	 to 2.6-ify this driver.  I'm 100% hacking in the dark here folks.
+
   I. Known Problems/Fix List (XXX)
 
      1. Need to add memory mapping workaround. Test the memory mapping.
         If it doesn't work revert to I/O port access. Can a test be done
@@ -741,8 +752,14 @@
 
      Andy Kellner <AKellner@connectcom.net> continues the Advansys SCSI
      driver development for ConnectCom (Version > 3.3F).
 
+     But he has now denied any interest in further support for obsolete
+     cards.  They'd be glad to sell me a new card, but I could
+     not find a scsi-2 FAST, 20mhz/sec card in their lineup.  I've
+     changed the version string to append MEH to the 3.4, and will
+     attempt to keep it going for a while yet.
+     
   K. ConnectCom (AdvanSys) Contact Information
 
      Mail:                   ConnectCom Solutions, Inc.
                              1150 Ringwood Court
@@ -753,8 +770,13 @@
      Tech Support E-Mail:    linux@connectcom.net
      FTP Site:               ftp.connectcom.net (login: anonymous)
      Web Site:               http://www.connectcom.net
 
+     I'll leave the above in just in case someone wants to follow
+     the trail.
+
+     I can usually be reached at <gene.heskett@verizon.net>
+
 */
 
 
 /*
@@ -775,9 +797,9 @@
     (LINUX_VERSION_CODE > ASC_LINUX_VERSION(2,3,0) && \
      LINUX_VERSION_CODE < ASC_LINUX_VERSION(2,4,0))
 #error "AdvanSys driver supported only in 2.2 and 2.4 or greater kernels."
 #endif
-
+ 
 /*
  * --- Linux Include Files
  */
 
@@ -4618,9 +4640,9 @@
                     if (iop) {
                         ASC_DBG1(1,
                                 "advansys_detect: probing I/O port 0x%x...\n",
                             iop);
-                        if (check_region(iop, ASC_IOADR_GAP) != 0) {
+                        if (!request_region(iop, ASC_IOADR_GAP, "advansys")) {
                             printk(
 "AdvanSys SCSI: specified I/O Port 0x%X is busy\n", iop);
                             /* Don't try this I/O port twice. */
                             asc_ioport[ioport] = 0;
@@ -10000,11 +10022,11 @@
         }
     }
     for (; i < ASC_IOADR_TABLE_MAX_IX; i++) {
         iop_base = _asc_def_iop_base[i];
-        if (check_region(iop_base, ASC_IOADR_GAP) != 0) {
+        if (!request_region(iop_base, ASC_IOADR_GAP, "advansys")) {
             ASC_DBG1(1,
-               "AscSearchIOPortAddr11: check_region() failed I/O port 0x%x\n",
+               "AscSearchIOPortAddr11: request_region() failed I/O port 0x%x\n",
                      iop_base);
             continue;
         }
         ASC_DBG1(1, "AscSearchIOPortAddr11: probing I/O port 0x%x\n", iop_base);

^ permalink raw reply	[flat|nested] 29+ messages in thread

* Re: 2.4 vs 2.6 versions of include/linux/ioport.h
  2003-08-06  0:26           ` Andrew McGregor
@ 2003-08-06  1:56             ` Gene Heskett
  0 siblings, 0 replies; 29+ messages in thread
From: Gene Heskett @ 2003-08-06  1:56 UTC (permalink / raw)
  To: Andrew McGregor, Randy.Dunlap; +Cc: linux-kernel

On Tuesday 05 August 2003 20:26, Andrew McGregor wrote:
>--On Tuesday, August 05, 2003 06:07:00 PM -0400 Gene Heskett
>
><gene.heskett@verizon.net> wrote:
>> Now, the factory nvidia drivers will not build for 2.6, so I don't
>> have any X.  Whats the status of the kernel versions vis-a-vis
>> running a gforce2 MMX 32 megger?
>
>http://www.minion.de/
>
>Patches for several recent NVidia driver versions.  Works for me on
> a GeForce2go.
>
>Andrew

Thank you.  Patch instructions would have been nice as the patch is 
against the archives own unpacked usr/src/nv directory, not readily 
determined at a glance.  Took me 15 minutes to find the magic twanger 
to play that song, erroniously patching the root makefile many times. 
:)

-- 
Cheers, Gene
AMD K6-III@500mhz 320M
Athlon1600XP@1400mhz  512M
99.27% setiathome rank, not too shabby for a WV hillbilly
Yahoo.com attornies please note, additions to this message
by Gene Heskett are:
Copyright 2003 by Maurice Eugene Heskett, all rights reserved.


^ permalink raw reply	[flat|nested] 29+ messages in thread

* 2.5/2.6 NVidia (was Re: 2.4 vs 2.6 ver#
  2003-08-05 22:07         ` 2.4 vs 2.6 ver# extra configure info CONFIGURE_ARGS += --disable-debug --enable-final --with-java=/usr/java/j2re1.4.1sions " Gene Heskett
  2003-08-06  0:26           ` Andrew McGregor
@ 2003-08-06  2:08           ` Valdis.Kletnieks
  2003-08-06  2:32             ` Gene Heskett
  2003-08-06  2:53             ` Gene Heskett
  1 sibling, 2 replies; 29+ messages in thread
From: Valdis.Kletnieks @ 2003-08-06  2:08 UTC (permalink / raw)
  To: gene.heskett; +Cc: linux-kernel

[-- Attachment #1: Type: text/plain, Size: 1549 bytes --]

On Tue, 05 Aug 2003 18:07:00 EDT, you said:

> Now, the factory nvidia drivers will not build for 2.6, so I don't 
> have any X.  Whats the status of the kernel versions vis-a-vis 
> running a gforce2 MMX 32 megger?

(Sorry for replying to the list, but let's get this into the archives in case
people actually search before asking... (yeah right ;))

I'm running the NVidia 4496 drivers right now on 2.6.0-test2-mm4.

Do the following (can be done on a 2.4 kernel if needed)

1) Get the 4496 drivers from NVidia
2) './NVIDIA-Linux-x86-1.0-4496-pkg2.run --extract-only'
3) Go to www.minion.de and get the patch: NVIDIA_kernel-1.0-4496-2.5.diff
4) cd NVIDIA-Linux-x86-1.0-4496-pkg2/usr/src/nv
5)  patch -p1 < NVIDIA_kernel-1.0-4496-2.5.diff
6) cp Makefile.kbuild Makefile

Now *as root*, while running the 2.6 kernel you want support for:
(either single-user or runlevel 3 (No X) are OK here - reboot if needed)

7) cd NVIDIA-Linux-x86-1.0-4496-pkg2/usr/src/nv   if you're not there already.
8) make     this will build the nvidia.ko, copy to /lib/modules, and insmod it for you.
9) cd ../../..      back to the 4496-pgk2 directory
10) 'make install' to put the /usr/lib parts in place.
11) Start X in the usual manner - you've probably got an XFconfig file with the right
NVidia pieces in it already (or you'd not be asking ;)

Hope this helps...
You should be ready to go at that point (note that you will need to do (7) and (8)
each time you do a 'make modules_install', but 9/10 only need doing if/when you
upgrade from 4496 to a new version.




[-- Attachment #2: Type: application/pgp-signature, Size: 226 bytes --]

^ permalink raw reply	[flat|nested] 29+ messages in thread

* Re: 2.5/2.6 NVidia (was Re: 2.4 vs 2.6 ver#
  2003-08-06  2:08           ` 2.5/2.6 NVidia (was Re: 2.4 vs 2.6 ver# Valdis.Kletnieks
@ 2003-08-06  2:32             ` Gene Heskett
  2003-08-06  2:53             ` Gene Heskett
  1 sibling, 0 replies; 29+ messages in thread
From: Gene Heskett @ 2003-08-06  2:32 UTC (permalink / raw)
  To: Valdis.Kletnieks; +Cc: linux-kernel

On Tuesday 05 August 2003 22:08, Valdis.Kletnieks@vt.edu wrote:
>On Tue, 05 Aug 2003 18:07:00 EDT, you said:
>> Now, the factory nvidia drivers will not build for 2.6, so I don't
>> have any X.  Whats the status of the kernel versions vis-a-vis
>> running a gforce2 MMX 32 megger?
>
>(Sorry for replying to the list, but let's get this into the
> archives in case people actually search before asking... (yeah
> right ;))
>
>I'm running the NVidia 4496 drivers right now on 2.6.0-test2-mm4.
>
>Do the following (can be done on a 2.4 kernel if needed)
>
>1) Get the 4496 drivers from NVidia
>2) './NVIDIA-Linux-x86-1.0-4496-pkg2.run --extract-only'
>3) Go to www.minion.de and get the patch:
> NVIDIA_kernel-1.0-4496-2.5.diff 4) cd
> NVIDIA-Linux-x86-1.0-4496-pkg2/usr/src/nv
>5)  patch -p1 < NVIDIA_kernel-1.0-4496-2.5.diff
>6) cp Makefile.kbuild Makefile
>
>Now *as root*, while running the 2.6 kernel you want support for:
>(either single-user or runlevel 3 (No X) are OK here - reboot if
> needed)
>
>7) cd NVIDIA-Linux-x86-1.0-4496-pkg2/usr/src/nv   if you're not
> there already. 8) make     this will build the nvidia.ko, copy to
> /lib/modules, and insmod it for you. 9) cd ../../..      back to
> the 4496-pgk2 directory
>10) 'make install' to put the /usr/lib parts in place.
>11) Start X in the usual manner - you've probably got an XFconfig
> file with the right NVidia pieces in it already (or you'd not be
> asking ;)
>
>Hope this helps...
>You should be ready to go at that point (note that you will need to
> do (7) and (8) each time you do a 'make modules_install', but 9/10
> only need doing if/when you upgrade from 4496 to a new version.

I just made a script out of that, thanks, now I'm off to reboot and 
try it. :)

-- 
Cheers, Gene
AMD K6-III@500mhz 320M
Athlon1600XP@1400mhz  512M
99.27% setiathome rank, not too shabby for a WV hillbilly
Yahoo.com attornies please note, additions to this message
by Gene Heskett are:
Copyright 2003 by Maurice Eugene Heskett, all rights reserved.


^ permalink raw reply	[flat|nested] 29+ messages in thread

* Re: 2.5/2.6 NVidia (was Re: 2.4 vs 2.6 ver#
  2003-08-06  2:08           ` 2.5/2.6 NVidia (was Re: 2.4 vs 2.6 ver# Valdis.Kletnieks
  2003-08-06  2:32             ` Gene Heskett
@ 2003-08-06  2:53             ` Gene Heskett
  2003-08-06  3:06               ` Valdis.Kletnieks
  1 sibling, 1 reply; 29+ messages in thread
From: Gene Heskett @ 2003-08-06  2:53 UTC (permalink / raw)
  To: Valdis.Kletnieks; +Cc: linux-kernel

On Tuesday 05 August 2003 22:08, Valdis.Kletnieks@vt.edu wrote:
>On Tue, 05 Aug 2003 18:07:00 EDT, you said:
>> Now, the factory nvidia drivers will not build for 2.6, so I don't
>> have any X.  Whats the status of the kernel versions vis-a-vis
>> running a gforce2 MMX 32 megger?
>
>(Sorry for replying to the list, but let's get this into the
> archives in case people actually search before asking... (yeah
> right ;))
>
>I'm running the NVidia 4496 drivers right now on 2.6.0-test2-mm4.
>
>Do the following (can be done on a 2.4 kernel if needed)
>
>1) Get the 4496 drivers from NVidia

check

>2) './NVIDIA-Linux-x86-1.0-4496-pkg2.run --extract-only'

check

>3) Go to www.minion.de and get the patch:
> NVIDIA_kernel-1.0-4496-2.5.diff

check
 
>4) cd NVIDIA-Linux-x86-1.0-4496-pkg2/usr/src/nv

check

>5)  patch -p1 < NVIDIA_kernel-1.0-4496-2.5.diff

check

>6) cp Makefile.kbuild Makefile

check

>Now *as root*, while running the 2.6 kernel you want support for:
>(either single-user or runlevel 3 (No X) are OK here - reboot if
> needed)
>
>7) cd NVIDIA-Linux-x86-1.0-4496-pkg2/usr/src/nv   if you're not
> there already.

check, in the script

> 8) make     this will build the nvidia.ko, copy to
> /lib/modules, and insmod it for you.

check, in the script

> 9) cd ../../..      back to
> the 4496-pgk2 directory

check, in the script

>10) 'make install' to put the /usr/lib parts in place.

check, its rather verbose, even complained about something but I 
didn't capture it :(

>11) Start X in the usual manner - you've probably got an XFconfig
> file with the right NVidia pieces in it already (or you'd not be
> asking ;)

check.  Just one problem, went to black screen about the time the NV 
logo should have popped up, and locked the machine up tight, had to 
use the hardware reset button.

Here is the script:
--------
#!/bin/bash
cd usr/src/nv
make
cd ../../..
make install
--------
which is executed from within that *4496-pkg2 directory

Next time I'll redirect the output of the makes to a scratch file, but 
thats tommorrow now.
>Hope this helps...
>You should be ready to go at that point (note that you will need to
> do (7) and (8) each time you do a 'make modules_install', but 9/10
> only need doing if/when you upgrade from 4496 to a new version.

-- 
Cheers, Gene
AMD K6-III@500mhz 320M
Athlon1600XP@1400mhz  512M
99.27% setiathome rank, not too shabby for a WV hillbilly
Yahoo.com attornies please note, additions to this message
by Gene Heskett are:
Copyright 2003 by Maurice Eugene Heskett, all rights reserved.


^ permalink raw reply	[flat|nested] 29+ messages in thread

* Re: 2.5/2.6 NVidia (was Re: 2.4 vs 2.6 ver#
  2003-08-06  2:53             ` Gene Heskett
@ 2003-08-06  3:06               ` Valdis.Kletnieks
  2003-08-06  5:51                 ` 2.5/2.6 NVidia (was Re: 2.4 vs 2.6 version of ioport.h) Gene Heskett
  0 siblings, 1 reply; 29+ messages in thread
From: Valdis.Kletnieks @ 2003-08-06  3:06 UTC (permalink / raw)
  To: gene.heskett; +Cc: linux-kernel

[-- Attachment #1: Type: text/plain, Size: 990 bytes --]

On Tue, 05 Aug 2003 22:53:57 EDT, Gene Heskett said:

> >10) 'make install' to put the /usr/lib parts in place.
> 
> check, its rather verbose, even complained about something but I 
> didn't capture it :(

This is almost certainly the cause of...

> >11) Start X in the usual manner - you've probably got an XFconfig
> > file with the right NVidia pieces in it already (or you'd not be
> > asking ;)
> 
> check.  Just one problem, went to black screen about the time the NV 
> logo should have popped up, and locked the machine up tight, had to 
> use the hardware reset button.

this hang here.  Things to check:

1) what it complained about when doing the 'make install' of the userspace.
2) What /var/log/XFree86.log (or wherever your X server output goes) says - it's
usually pretty good about logging what it's upset about.
3) Make sure you have a sane setting for "Option NvAGP" in your XF86Config that
matches what your kernel has.  It's documented in Appendix D of the README....


[-- Attachment #2: Type: application/pgp-signature, Size: 226 bytes --]

^ permalink raw reply	[flat|nested] 29+ messages in thread

* Re: 2.5/2.6 NVidia (was Re: 2.4 vs 2.6 version of ioport.h)
  2003-08-06  3:06               ` Valdis.Kletnieks
@ 2003-08-06  5:51                 ` Gene Heskett
  0 siblings, 0 replies; 29+ messages in thread
From: Gene Heskett @ 2003-08-06  5:51 UTC (permalink / raw)
  To: Valdis.Kletnieks; +Cc: linux-kernel

On Tuesday 05 August 2003 23:06, Valdis.Kletnieks@vt.edu wrote:
>On Tue, 05 Aug 2003 22:53:57 EDT, Gene Heskett said:
>> >10) 'make install' to put the /usr/lib parts in place.
>>
>> check, its rather verbose, even complained about something but I
>> didn't capture it :(
>
>This is almost certainly the cause of...
>
>> >11) Start X in the usual manner - you've probably got an XFconfig
>> > file with the right NVidia pieces in it already (or you'd not be
>> > asking ;)
>>
>> check.  Just one problem, went to black screen about the time the
>> NV logo should have popped up, and locked the machine up tight,
>> had to use the hardware reset button.
>
>this hang here.  Things to check:
>
>1) what it complained about when doing the 'make install' of the
> userspace. 2) What /var/log/XFree86.log (or wherever your X server
> output goes) says - it's usually pretty good about logging what
> it's upset about.

chicken and egg, no valid log till X is started, no machine after X is 
started.  Humm, look at log before restarting X after the reboot.  
Now, why didn't I think of that :(

>3) Make sure you have a sane setting for "Option NvAGP" in your
> XF86Config that matches what your kernel has.  It's documented in
> Appendix D of the README....

If this belongs in the 'Device' section, it wasn't there.  According 
to the README, the default is 3, which=try all options.  I put it in.

I note that in my present 2.4.22-pre10 boot, the only reference to 
this in the log is:
(II) NVIDIA(0): AGP 4X successfully initialized
IIRC, but possibly not the case in the 2.6 .config yet, is that any 
references to AGP are 'is not set'.

But on checking, thats not the case, I have this:
CONFIG_AGP=y
# CONFIG_AGP_ALI is not set
# CONFIG_AGP_AMD is not set
# CONFIG_AGP_AMD_8151 is not set
# CONFIG_AGP_INTEL is not set
CONFIG_AGP_NVIDIA=y
# CONFIG_AGP_SIS is not set
# CONFIG_AGP_SWORKS is not set
CONFIG_AGP_VIA=y
CONFIG_DRM=y
-----
so I need to shut that off and let it use the nvidia version.  None of 
that is set in this 2.4.22-pre10 boot...  And its now turned off in 
the 2.6 .config too.  Its rebuilding.

Then I've been down for a couple of hours, it seems somebody took out 
a pole or something and my ups worked as expected, allowing me to do 
a gracefull shutdown in the dark.  Nice.

Thanks Valdis.

-- 
Cheers, Gene
AMD K6-III@500mhz 320M
Athlon1600XP@1400mhz  512M
99.27% setiathome rank, not too shabby for a WV hillbilly
Yahoo.com attornies please note, additions to this message
by Gene Heskett are:
Copyright 2003 by Maurice Eugene Heskett, all rights reserved.


^ permalink raw reply	[flat|nested] 29+ messages in thread

* advansys regions [Re: 2.4 vs 2.6 versions of include/linux/ioport.h]
  2003-08-06  0:50   ` 2.4 vs 2.6 versions of include/linux/ioport.h Gene Heskett
@ 2003-08-06 17:40     ` Randy.Dunlap
  2003-08-06 17:59       ` Matthew Wilcox
                         ` (2 more replies)
  0 siblings, 3 replies; 29+ messages in thread
From: Randy.Dunlap @ 2003-08-06 17:40 UTC (permalink / raw)
  To: gene.heskett; +Cc: linux-scsi

On Tue, 5 Aug 2003 20:50:07 -0400 Gene Heskett <gene.heskett@verizon.net> wrote:

| On Tuesday 05 August 2003 10:57, Randy.Dunlap wrote:
| >On Tue, 5 Aug 2003 10:41:08 -0400 Gene Heskett 
| <gene.heskett@verizon.net> wrote:
| >| Greetings;
| >|
| >| In the 2.4 includes, find this in ioport.h
| >| ----
| >| /* Compatibility cruft */
| >| #define check_region(start,n)   __check_region(&ioport_resource,
| >| (start), (n))
| >| [snip]
| >| extern int __check_region(struct resource *, unsigned long,
| >| unsigned long);
| >| ----
| >| But in the 2.6 version, find this:
| >| ----
| >| /* Compatibility cruft */
| >| [snip]
| >| extern int __check_region(struct resource *, unsigned long,
| >| unsigned long);
| >| [snip]
| >| static inline int __deprecated check_region(unsigned long s,
| >| unsigned long n)
| >| {
| >|         return __check_region(&ioport_resource, s, n);
| >| }
| >| ----
| >| First, the define itself is missing in the 2.6 version.
| >|
| >| Many drivers seem to use this call, and in that which I'm trying
| >| to build, the nforce and advansys modules use it.  And while the
| >| modules seem to build, they do not run properly.
| >|
| >| I cannot run 2.6.x for extended tests because of the advansys
| >| breakage this causes.  I also haven't even tried to run X because
| >| of the nforce error reported when its built, the same error as
| >| attacks the advansys code.
| >|
| >| Can I ask why this change was made, and is there a suitable
| >| replacement call available that these drivers could use instead of
| >| check_region(), as shown here in a snip from advansys.c?
| >| ----
| >| if (check_region(iop, ASC_IOADR_GAP) != 0) {
| >| ...
| >| if (check_region(iop_base, ASC_IOADR_GAP) != 0) {
| >| ...
| >|
| >| Hopeing for some hints here.
| >
| >check_region() was racy.  Use request_region() instead.
| >
| >   if (!request_region(iop, ASC_IOADR_GAP, "advansys")) {
| >   ...
| >
| >   if (!request_region(iop_base, ASC_IOADR, "advansys")) {
| >   ...
| >
| >Of course, if successful, this assigns the region to the driver,
| >while check_region() didn't do this, so release_region() should be
| >used as needed to return the resources.
| 
| Randy, look the attached patch over & see if its suitable.  Its 
| against the driver in the 2.6.0-test2 archive, and was done from 
| within the drivers/scsi directory.  Its working fine here, booting 
| and accessing my tape drive just fine with the advansys driver 
| incorporated into the kernel, or as a module.  I didn't see any 
| memory leakage, but my test method isn't definitive.
| 
| If its suitable, pass it on to Linus.  It will add one more card to 
| the NOT broken by 2.6 list.

First, I've moved this to the linux-scsi mailing list for more/better
comments.

Second, (minor nit) part of your patch[1] contained a line that only
added a trailing space.

But most importantly, if I'm reading it correctly, the driver now does
request_region() 2 times for an IO region (note: for CONFIG_ISA only;
is your Advansys adapter PCI or ISA?).

I'm not terribly interested in spending much time on this driver,
so the simplest thing to do IMO is to emulate check_region() with
pairs of request_region() and release_region() calls.  Yes, this
is still racy, just like check_region() was.  Is that a problem
in your machine environment?

Below is a patch that uses request_region/release_region pairs
instead of check_region().  Does it work for you?

[1] http://lkml.org/lkml/2003/8/5/304

--
~Randy				For Linux-2.6, see:
http://www.kernel.org/pub/linux/kernel/people/davej/misc/post-halloween-2.5.txt


patch_name:	advansys_regions_260.patch
patch_version:	2003-08-06.10:27:17
author:		Randy.Dunlap <rddunlap@osdl.org>
description:	convert check_region() to request/release
product:	Linux
product_versions: linux-260-test2
diffstat:	=
 drivers/scsi/advansys.c |   11 ++++++++---
 1 files changed, 8 insertions(+), 3 deletions(-)


diff -Naurp ./drivers/scsi/advansys.c~advans ./drivers/scsi/advansys.c
--- ./drivers/scsi/advansys.c~advans	2003-07-27 09:59:39.000000000 -0700
+++ ./drivers/scsi/advansys.c	2003-08-06 10:24:45.000000000 -0700
@@ -4619,17 +4619,19 @@ advansys_detect(Scsi_Host_Template *tpnt
                         ASC_DBG1(1,
                                 "advansys_detect: probing I/O port 0x%x...\n",
                             iop);
-                        if (check_region(iop, ASC_IOADR_GAP) != 0) {
+                        if (!request_region(iop, ASC_IOADR_GAP, "advansys")) {
                             printk(
 "AdvanSys SCSI: specified I/O Port 0x%X is busy\n", iop);
                             /* Don't try this I/O port twice. */
                             asc_ioport[ioport] = 0;
+			    release_region(iop, ASC_IOADR_GAP);
                             goto ioport_try_again;
                         } else if (AscFindSignature(iop) == ASC_FALSE) {
                             printk(
 "AdvanSys SCSI: specified I/O Port 0x%X has no adapter\n", iop);
                             /* Don't try this I/O port twice. */
                             asc_ioport[ioport] = 0;
+			    release_region(iop, ASC_IOADR_GAP);
                             goto ioport_try_again;
                         } else {
                             /*
@@ -4647,6 +4649,7 @@ advansys_detect(Scsi_Host_Template *tpnt
                                   * 'ioport' past this board.
                                   */
                                  ioport++;
+				 release_region(iop, ASC_IOADR_GAP);
                                  goto ioport_try_again;
                             }
                         }
@@ -10001,16 +10004,18 @@ AscSearchIOPortAddr11(
     }
     for (; i < ASC_IOADR_TABLE_MAX_IX; i++) {
         iop_base = _asc_def_iop_base[i];
-        if (check_region(iop_base, ASC_IOADR_GAP) != 0) {
+        if (!request_region(iop_base, ASC_IOADR_GAP, "advansys")) {
             ASC_DBG1(1,
-               "AscSearchIOPortAddr11: check_region() failed I/O port 0x%x\n",
+               "AscSearchIOPortAddr11: request_region() failed I/O port 0x%x\n",
                      iop_base);
             continue;
         }
         ASC_DBG1(1, "AscSearchIOPortAddr11: probing I/O port 0x%x\n", iop_base);
         if (AscFindSignature(iop_base)) {
+	    release_region(iop_base, ASC_IOADR_GAP);
             return (iop_base);
         }
+	release_region(iop_base, ASC_IOADR_GAP);
     }
     return (0);
 }

^ permalink raw reply	[flat|nested] 29+ messages in thread

* Re: advansys regions [Re: 2.4 vs 2.6 versions of include/linux/ioport.h]
  2003-08-06 17:40     ` advansys regions [Re: 2.4 vs 2.6 versions of include/linux/ioport.h] Randy.Dunlap
@ 2003-08-06 17:59       ` Matthew Wilcox
  2003-08-06 18:02         ` Randy.Dunlap
                           ` (2 more replies)
  2003-08-06 18:31       ` Gene Heskett
  2003-08-07  7:36       ` Christoph Hellwig
  2 siblings, 3 replies; 29+ messages in thread
From: Matthew Wilcox @ 2003-08-06 17:59 UTC (permalink / raw)
  To: Randy.Dunlap; +Cc: gene.heskett, linux-scsi, Janitors

On Wed, Aug 06, 2003 at 10:40:41AM -0700, Randy.Dunlap wrote:
> | On Tuesday 05 August 2003 10:57, Randy.Dunlap wrote:
> | >On Tue, 5 Aug 2003 10:41:08 -0400 Gene Heskett 
> | <gene.heskett@verizon.net> wrote:
> | >| Greetings;
> | >|
> | >| In the 2.4 includes, find this in ioport.h
> | >| ----
> | >| /* Compatibility cruft */
> | >| #define check_region(start,n)   __check_region(&ioport_resource,
> | >| (start), (n))
> | >| [snip]
> | >| extern int __check_region(struct resource *, unsigned long,
> | >| unsigned long);
> | >| ----
> | >| But in the 2.6 version, find this:
> | >| ----
> | >| /* Compatibility cruft */
> | >| [snip]
> | >| extern int __check_region(struct resource *, unsigned long,
> | >| unsigned long);
> | >| [snip]
> | >| static inline int __deprecated check_region(unsigned long s,
> | >| unsigned long n)
> | >| {
> | >|         return __check_region(&ioport_resource, s, n);
> | >| }
> | >| ----
> | >| First, the define itself is missing in the 2.6 version.

What define?  check_region() is still there, just as an inline function,
not a macro.

> | >| Many drivers seem to use this call, and in that which I'm trying
> | >| to build, the nforce and advansys modules use it.  And while the
> | >| modules seem to build, they do not run properly.

Explain?  Has someone broken check_region?

> I'm not terribly interested in spending much time on this driver,
> so the simplest thing to do IMO is to emulate check_region() with
> pairs of request_region() and release_region() calls.  Yes, this
> is still racy, just like check_region() was.  Is that a problem
> in your machine environment?

I think this is the wrong thig to do.  Leaving the check_region()
calls there indicate this driver still needs to be fixed properly.
Replacing them with unsafe uses of request & release_region leaves the
driver racy and removes the indication.

-- 
"It's not Hollywood.  War is real, war is primarily not about defeat or
victory, it is about death.  I've seen thousands and thousands of dead bodies.
Do you think I want to have an academic debate on this subject?" -- Robert Fisk


-------------------------------------------------------
This SF.Net email sponsored by: Free pre-built ASP.NET sites including
Data Reports, E-commerce, Portals, and Forums are available now.
Download today and enter to win an XBOX or Visual Studio .NET.
http://aspnet.click-url.com/go/psa00100003ave/direct;at.aspnet_072303_01/01

^ permalink raw reply	[flat|nested] 29+ messages in thread

* Re: advansys regions [Re: 2.4 vs 2.6 versions of include/linux/ioport.h]
  2003-08-06 17:59       ` Matthew Wilcox
@ 2003-08-06 18:02         ` Randy.Dunlap
  2003-08-06 18:35         ` Gene Heskett
  2003-08-06 23:20         ` Gene Heskett
  2 siblings, 0 replies; 29+ messages in thread
From: Randy.Dunlap @ 2003-08-06 18:02 UTC (permalink / raw)
  To: Matthew Wilcox; +Cc: gene.heskett, linux-scsi, kernel-janitor-discuss

On Wed, 6 Aug 2003 18:59:54 +0100 Matthew Wilcox <willy@debian.org> wrote:

| On Wed, Aug 06, 2003 at 10:40:41AM -0700, Randy.Dunlap wrote:
| > | On Tuesday 05 August 2003 10:57, Randy.Dunlap wrote:
| > | >On Tue, 5 Aug 2003 10:41:08 -0400 Gene Heskett 
| > | <gene.heskett@verizon.net> wrote:
| > | >| Greetings;
| > | >|
| > | >| In the 2.4 includes, find this in ioport.h
| > | >| ----
| > | >| /* Compatibility cruft */
| > | >| #define check_region(start,n)   __check_region(&ioport_resource,
| > | >| (start), (n))
| > | >| [snip]
| > | >| extern int __check_region(struct resource *, unsigned long,
| > | >| unsigned long);
| > | >| ----
| > | >| But in the 2.6 version, find this:
| > | >| ----
| > | >| /* Compatibility cruft */
| > | >| [snip]
| > | >| extern int __check_region(struct resource *, unsigned long,
| > | >| unsigned long);
| > | >| [snip]
| > | >| static inline int __deprecated check_region(unsigned long s,
| > | >| unsigned long n)
| > | >| {
| > | >|         return __check_region(&ioport_resource, s, n);
| > | >| }
| > | >| ----
| > | >| First, the define itself is missing in the 2.6 version.
| 
| What define?  check_region() is still there, just as an inline function,
| not a macro.

and it's "__deprecated", so there is some desire not to use it.

| > | >| Many drivers seem to use this call, and in that which I'm trying
| > | >| to build, the nforce and advansys modules use it.  And while the
| > | >| modules seem to build, they do not run properly.
| 
| Explain?  Has someone broken check_region?

Just deprecated it, so it gives compile warnings when it's used.

| > I'm not terribly interested in spending much time on this driver,
| > so the simplest thing to do IMO is to emulate check_region() with
| > pairs of request_region() and release_region() calls.  Yes, this
| > is still racy, just like check_region() was.  Is that a problem
| > in your machine environment?
| 
| I think this is the wrong thig to do.  Leaving the check_region()
| calls there indicate this driver still needs to be fixed properly.
| Replacing them with unsafe uses of request & release_region leaves the
| driver racy and removes the indication.

Yes, I see your point, and it will work that way as well as it ever did.

Think it will ever be fixed?  Maybe after more 2.6.x users show up...?

--
~Randy				For Linux-2.6, see:
http://www.kernel.org/pub/linux/kernel/people/davej/misc/post-halloween-2.5.txt


-------------------------------------------------------
This SF.Net email sponsored by: Free pre-built ASP.NET sites including
Data Reports, E-commerce, Portals, and Forums are available now.
Download today and enter to win an XBOX or Visual Studio .NET.
http://aspnet.click-url.com/go/psa00100003ave/direct;at.aspnet_072303_01/01

^ permalink raw reply	[flat|nested] 29+ messages in thread

* Re: advansys regions [Re: 2.4 vs 2.6 versions of include/linux/ioport.h]
  2003-08-06 17:40     ` advansys regions [Re: 2.4 vs 2.6 versions of include/linux/ioport.h] Randy.Dunlap
  2003-08-06 17:59       ` Matthew Wilcox
@ 2003-08-06 18:31       ` Gene Heskett
  2003-08-07  7:36       ` Christoph Hellwig
  2 siblings, 0 replies; 29+ messages in thread
From: Gene Heskett @ 2003-08-06 18:31 UTC (permalink / raw)
  To: Randy.Dunlap; +Cc: linux-scsi

On Wednesday 06 August 2003 13:40, Randy.Dunlap wrote:
>On Tue, 5 Aug 2003 20:50:07 -0400 Gene Heskett 
<gene.heskett@verizon.net> wrote:
>| On Tuesday 05 August 2003 10:57, Randy.Dunlap wrote:
>| >On Tue, 5 Aug 2003 10:41:08 -0400 Gene Heskett
>|
>| <gene.heskett@verizon.net> wrote:
>| >| Greetings;
>| >|
>| >| In the 2.4 includes, find this in ioport.h
>| >| ----
>| >| /* Compatibility cruft */
>| >| #define check_region(start,n)  
>| >| __check_region(&ioport_resource, (start), (n))
>| >| [snip]
>| >| extern int __check_region(struct resource *, unsigned long,
>| >| unsigned long);
>| >| ----
>| >| But in the 2.6 version, find this:
>| >| ----
>| >| /* Compatibility cruft */
>| >| [snip]
>| >| extern int __check_region(struct resource *, unsigned long,
>| >| unsigned long);
>| >| [snip]
>| >| static inline int __deprecated check_region(unsigned long s,
>| >| unsigned long n)
>| >| {
>| >|         return __check_region(&ioport_resource, s, n);
>| >| }
>| >| ----
>| >| First, the define itself is missing in the 2.6 version.
>| >|
>| >| Many drivers seem to use this call, and in that which I'm
>| >| trying to build, the nforce and advansys modules use it.  And
>| >| while the modules seem to build, they do not run properly.
>| >|
>| >| I cannot run 2.6.x for extended tests because of the advansys
>| >| breakage this causes.  I also haven't even tried to run X
>| >| because of the nforce error reported when its built, the same
>| >| error as attacks the advansys code.
>| >|
>| >| Can I ask why this change was made, and is there a suitable
>| >| replacement call available that these drivers could use instead
>| >| of check_region(), as shown here in a snip from advansys.c?
>| >| ----
>| >| if (check_region(iop, ASC_IOADR_GAP) != 0) {
>| >| ...
>| >| if (check_region(iop_base, ASC_IOADR_GAP) != 0) {
>| >| ...
>| >|
>| >| Hopeing for some hints here.
>| >
>| >check_region() was racy.  Use request_region() instead.
>| >
>| >   if (!request_region(iop, ASC_IOADR_GAP, "advansys")) {
>| >   ...
>| >
>| >   if (!request_region(iop_base, ASC_IOADR, "advansys")) {
>| >   ...
>| >
>| >Of course, if successful, this assigns the region to the driver,
>| >while check_region() didn't do this, so release_region() should
>| > be used as needed to return the resources.
>|
>| Randy, look the attached patch over & see if its suitable.  Its
>| against the driver in the 2.6.0-test2 archive, and was done from
>| within the drivers/scsi directory.  Its working fine here, booting
>| and accessing my tape drive just fine with the advansys driver
>| incorporated into the kernel, or as a module.  I didn't see any
>| memory leakage, but my test method isn't definitive.
>|
>| If its suitable, pass it on to Linus.  It will add one more card
>| to the NOT broken by 2.6 list.
>
>First, I've moved this to the linux-scsi mailing list for
> more/better comments.
>
>Second, (minor nit) part of your patch[1] contained a line that only
>added a trailing space.

Probably my editors word wrap at work. :(

>But most importantly, if I'm reading it correctly, the driver now
> does request_region() 2 times for an IO region (note: for
> CONFIG_ISA only; is your Advansys adapter PCI or ISA?).

Its pci.  And isa adaptor would be bus speed limited.

>I'm not terribly interested in spending much time on this driver,
>so the simplest thing to do IMO is to emulate check_region() with
>pairs of request_region() and release_region() calls.  Yes, this
>is still racy, just like check_region() was.  Is that a problem
>in your machine environment?

It hasn't been when using check_region.

>Below is a patch that uses request_region/release_region pairs
>instead of check_region().

>From my perusal of that code, its all in the init category, and 
requests a total of 11 buffers of UNK size (not without rechecking 
the constant defines anyway), which would appear to be assigned for 
the duration of the uptime.  That would appear to me that its 
reserving working room it should never release as long as the drive 
is powered up.  Or did I read it wrong?

>[1] http://lkml.org/lkml/2003/8/5/304
>
>Does it work for you?
>--
>~Randy				For Linux-2.6, see:
>http://www.kernel.org/pub/linux/kernel/people/davej/misc/post-hallow
>een-2.5.txt
>
>
>patch_name:	advansys_regions_260.patch
>patch_version:	2003-08-06.10:27:17
>author:		Randy.Dunlap <rddunlap@osdl.org>
>description:	convert check_region() to request/release
>product:	Linux
>product_versions: linux-260-test2
>diffstat:	=
> drivers/scsi/advansys.c |   11 ++++++++---
> 1 files changed, 8 insertions(+), 3 deletions(-)
>
>
>diff -Naurp ./drivers/scsi/advansys.c~advans
> ./drivers/scsi/advansys.c ---
> ./drivers/scsi/advansys.c~advans	2003-07-27 09:59:39.000000000
> -0700 +++ ./drivers/scsi/advansys.c	2003-08-06 10:24:45.000000000
> -0700 @@ -4619,17 +4619,19 @@ advansys_detect(Scsi_Host_Template
> *tpnt ASC_DBG1(1,
>                                 "advansys_detect: probing I/O port
> 0x%x...\n", iop);
>-                        if (check_region(iop, ASC_IOADR_GAP) != 0)
> { +                        if (!request_region(iop, ASC_IOADR_GAP,
> "advansys")) { printk(
> "AdvanSys SCSI: specified I/O Port 0x%X is busy\n", iop);
>                             /* Don't try this I/O port twice. */
>                             asc_ioport[ioport] = 0;
>+			    release_region(iop, ASC_IOADR_GAP);
>                             goto ioport_try_again;
>                         } else if (AscFindSignature(iop) ==
> ASC_FALSE) { printk(
> "AdvanSys SCSI: specified I/O Port 0x%X has no adapter\n", iop);
>                             /* Don't try this I/O port twice. */
>                             asc_ioport[ioport] = 0;
>+			    release_region(iop, ASC_IOADR_GAP);
>                             goto ioport_try_again;
>                         } else {
>                             /*
>@@ -4647,6 +4649,7 @@ advansys_detect(Scsi_Host_Template *tpnt
>                                   * 'ioport' past this board.
>                                   */
>                                  ioport++;
>+				 release_region(iop, ASC_IOADR_GAP);
>                                  goto ioport_try_again;
>                             }
>                         }
>@@ -10001,16 +10004,18 @@ AscSearchIOPortAddr11(
>     }
>     for (; i < ASC_IOADR_TABLE_MAX_IX; i++) {
>         iop_base = _asc_def_iop_base[i];
>-        if (check_region(iop_base, ASC_IOADR_GAP) != 0) {
>+        if (!request_region(iop_base, ASC_IOADR_GAP, "advansys")) {
>             ASC_DBG1(1,
>-               "AscSearchIOPortAddr11: check_region() failed I/O
> port 0x%x\n", +               "AscSearchIOPortAddr11:
> request_region() failed I/O port 0x%x\n", iop_base);
>             continue;
>         }
>         ASC_DBG1(1, "AscSearchIOPortAddr11: probing I/O port
> 0x%x\n", iop_base); if (AscFindSignature(iop_base)) {
>+	    release_region(iop_base, ASC_IOADR_GAP);
>             return (iop_base);
>         }
>+	release_region(iop_base, ASC_IOADR_GAP);
>     }
>     return (0);
> }

Thanks, I've patched my copy, and will try it later today, submitting 
a new diff if it works.

-- 
Cheers, Gene
AMD K6-III@500mhz 320M
Athlon1600XP@1400mhz  512M
99.27% setiathome rank, not too shabby for a WV hillbilly
Yahoo.com attornies please note, additions to this message
by Gene Heskett are:
Copyright 2003 by Maurice Eugene Heskett, all rights reserved.


^ permalink raw reply	[flat|nested] 29+ messages in thread

* Re: advansys regions [Re: 2.4 vs 2.6 versions of include/linux/ioport.h]
  2003-08-06 17:59       ` Matthew Wilcox
  2003-08-06 18:02         ` Randy.Dunlap
@ 2003-08-06 18:35         ` Gene Heskett
  2003-08-06 18:50           ` Randy.Dunlap
  2003-08-06 23:20         ` Gene Heskett
  2 siblings, 1 reply; 29+ messages in thread
From: Gene Heskett @ 2003-08-06 18:35 UTC (permalink / raw)
  To: Matthew Wilcox, Randy.Dunlap; +Cc: linux-scsi, Janitors

On Wednesday 06 August 2003 13:59, Matthew Wilcox wrote:
>On Wed, Aug 06, 2003 at 10:40:41AM -0700, Randy.Dunlap wrote:
>> | On Tuesday 05 August 2003 10:57, Randy.Dunlap wrote:
>> | >On Tue, 5 Aug 2003 10:41:08 -0400 Gene Heskett
>> |
>> | <gene.heskett@verizon.net> wrote:
>> | >| Greetings;
>> | >|
>> | >| In the 2.4 includes, find this in ioport.h
>> | >| ----
>> | >| /* Compatibility cruft */
>> | >| #define check_region(start,n)  
>> | >| __check_region(&ioport_resource, (start), (n))
>> | >| [snip]
>> | >| extern int __check_region(struct resource *, unsigned long,
>> | >| unsigned long);
>> | >| ----
>> | >| But in the 2.6 version, find this:
>> | >| ----
>> | >| /* Compatibility cruft */
>> | >| [snip]
>> | >| extern int __check_region(struct resource *, unsigned long,
>> | >| unsigned long);
>> | >| [snip]
>> | >| static inline int __deprecated check_region(unsigned long s,
>> | >| unsigned long n)
>> | >| {
>> | >|         return __check_region(&ioport_resource, s, n);
>> | >| }
>> | >| ----
>> | >| First, the define itself is missing in the 2.6 version.
>
>What define?  check_region() is still there, just as an inline
> function, not a macro.
>
I found that later.

>> | >| Many drivers seem to use this call, and in that which I'm
>> | >| trying to build, the nforce and advansys modules use it.  And
>> | >| while the modules seem to build, they do not run properly.
>
>Explain?  Has someone broken check_region?

Its now marked __deprecated.  The module builds while indicating the 
errors, but gets into a bus reset loop and hangs in the second 
iteration of it.

>
>> I'm not terribly interested in spending much time on this driver,
>> so the simplest thing to do IMO is to emulate check_region() with
>> pairs of request_region() and release_region() calls.  Yes, this
>> is still racy, just like check_region() was.  Is that a problem
>> in your machine environment?
>
>I think this is the wrong thig to do.  Leaving the check_region()
>calls there indicate this driver still needs to be fixed properly.
>Replacing them with unsafe uses of request & release_region leaves
> the driver racy and removes the indication.

What do you suggest doing?

-- 
Cheers, Gene
AMD K6-III@500mhz 320M
Athlon1600XP@1400mhz  512M
99.27% setiathome rank, not too shabby for a WV hillbilly
Yahoo.com attornies please note, additions to this message
by Gene Heskett are:
Copyright 2003 by Maurice Eugene Heskett, all rights reserved.



-------------------------------------------------------
This SF.Net email sponsored by: Free pre-built ASP.NET sites including
Data Reports, E-commerce, Portals, and Forums are available now.
Download today and enter to win an XBOX or Visual Studio .NET.
http://aspnet.click-url.com/go/psa00100003ave/direct;at.aspnet_072303_01/01

^ permalink raw reply	[flat|nested] 29+ messages in thread

* Re: advansys regions [Re: 2.4 vs 2.6 versions of include/linux/ioport.h]
  2003-08-06 18:35         ` Gene Heskett
@ 2003-08-06 18:50           ` Randy.Dunlap
  2003-08-06 19:18             ` Gene Heskett
  0 siblings, 1 reply; 29+ messages in thread
From: Randy.Dunlap @ 2003-08-06 18:50 UTC (permalink / raw)
  To: gene.heskett; +Cc: willy, linux-scsi, kernel-janitor-discuss

On Wed, 6 Aug 2003 14:35:43 -0400 Gene Heskett <gene.heskett@verizon.net> wrote:

...
| >> | >| ----
| >> | >| First, the define itself is missing in the 2.6 version.
| >
| >What define?  check_region() is still there, just as an inline
| > function, not a macro.
| >
| I found that later.
| 
| >> | >| Many drivers seem to use this call, and in that which I'm
| >> | >| trying to build, the nforce and advansys modules use it.  And
| >> | >| while the modules seem to build, they do not run properly.
| >
| >Explain?  Has someone broken check_region?
| 
| Its now marked __deprecated.  The module builds while indicating the 
| errors, but gets into a bus reset loop and hangs in the second 
| iteration of it.

So the kernel driver, without mods, is broken?
I didn't realize this earlier.

| >> I'm not terribly interested in spending much time on this driver,
| >> so the simplest thing to do IMO is to emulate check_region() with
| >> pairs of request_region() and release_region() calls.  Yes, this
| >> is still racy, just like check_region() was.  Is that a problem
| >> in your machine environment?
| >
| >I think this is the wrong thig to do.  Leaving the check_region()
| >calls there indicate this driver still needs to be fixed properly.
| >Replacing them with unsafe uses of request & release_region leaves
| > the driver racy and removes the indication.

--
~Randy				For Linux-2.6, see:
http://www.kernel.org/pub/linux/kernel/people/davej/misc/post-halloween-2.5.txt

^ permalink raw reply	[flat|nested] 29+ messages in thread

* Re: advansys regions [Re: 2.4 vs 2.6 versions of include/linux/ioport.h]
  2003-08-06 18:50           ` Randy.Dunlap
@ 2003-08-06 19:18             ` Gene Heskett
  0 siblings, 0 replies; 29+ messages in thread
From: Gene Heskett @ 2003-08-06 19:18 UTC (permalink / raw)
  To: Randy.Dunlap; +Cc: willy, linux-scsi, kernel-janitor-discuss

On Wednesday 06 August 2003 14:50, Randy.Dunlap wrote:
>On Wed, 6 Aug 2003 14:35:43 -0400 Gene Heskett
> <gene.heskett@verizon.net> wrote:
>
>...
>
>| >> | >| ----
>| >> | >| First, the define itself is missing in the 2.6 version.
>| >
>| >What define?  check_region() is still there, just as an inline
>| > function, not a macro.
>|
>| I found that later.
>|
>| >> | >| Many drivers seem to use this call, and in that which I'm
>| >> | >| trying to build, the nforce and advansys modules use it. 
>| >> | >| And while the modules seem to build, they do not run
>| >> | >| properly.
>| >
>| >Explain?  Has someone broken check_region?
>|
>| Its now marked __deprecated.  The module builds while indicating
>| the errors, but gets into a bus reset loop and hangs in the second
>| iteration of it.
>
>So the kernel driver, without mods, is broken?
>I didn't realize this earlier.

Yes.  I've said as much 2-3 times although it could have been 
ambiguous once the translation from WV to english was made. :-)

My patch I sent worked 'nominally' in that ANAICT, all functions were 
restored,  and the memory useage wandered around mainly because 
setiathome is also running, started in rc.local here.  I did not seem 
to successively lose 50k for everytime I accessed something thru the 
patched driver, but I've now added the release_region calls as you 
suggested.  I'll test it later today.

>| >> I'm not terribly interested in spending much time on this
>| >> driver, so the simplest thing to do IMO is to emulate
>| >> check_region() with pairs of request_region() and
>| >> release_region() calls.  Yes, this is still racy, just like
>| >> check_region() was.  Is that a problem in your machine
>| >> environment?
>| >
>| >I think this is the wrong thig to do.  Leaving the check_region()
>| >calls there indicate this driver still needs to be fixed
>| > properly. Replacing them with unsafe uses of request &
>| > release_region leaves the driver racy and removes the
>| > indication.
>
>--
>~Randy				For Linux-2.6, see:
>http://www.kernel.org/pub/linux/kernel/people/davej/misc/post-hallow
>een-2.5.txt

-- 
Cheers, Gene
AMD K6-III@500mhz 320M
Athlon1600XP@1400mhz  512M
99.27% setiathome rank, not too shabby for a WV hillbilly
Yahoo.com attornies please note, additions to this message
by Gene Heskett are:
Copyright 2003 by Maurice Eugene Heskett, all rights reserved.



-------------------------------------------------------
This SF.Net email sponsored by: Free pre-built ASP.NET sites including
Data Reports, E-commerce, Portals, and Forums are available now.
Download today and enter to win an XBOX or Visual Studio .NET.
http://aspnet.click-url.com/go/psa00100003ave/direct;at.aspnet_072303_01/01

^ permalink raw reply	[flat|nested] 29+ messages in thread

* Re: advansys regions [Re: 2.4 vs 2.6 versions of include/linux/ioport.h]
  2003-08-06 17:59       ` Matthew Wilcox
  2003-08-06 18:02         ` Randy.Dunlap
  2003-08-06 18:35         ` Gene Heskett
@ 2003-08-06 23:20         ` Gene Heskett
  2 siblings, 0 replies; 29+ messages in thread
From: Gene Heskett @ 2003-08-06 23:20 UTC (permalink / raw)
  To: Matthew Wilcox, Randy.Dunlap; +Cc: linux-scsi, Janitors

On Wednesday 06 August 2003 13:59, Matthew Wilcox wrote:

This is a resend.

>On Wed, Aug 06, 2003 at 10:40:41AM -0700, Randy.Dunlap wrote:
>> | On Tuesday 05 August 2003 10:57, Randy.Dunlap wrote:
>> | >On Tue, 5 Aug 2003 10:41:08 -0400 Gene Heskett
>> |
>> | <gene.heskett@verizon.net> wrote:
>> | >| Greetings;
>> | >|
>> | >| In the 2.4 includes, find this in ioport.h
>> | >| ----
>> | >| /* Compatibility cruft */
>> | >| #define check_region(start,n)  
>> | >| __check_region(&ioport_resource, (start), (n))
>> | >| [snip]
>> | >| extern int __check_region(struct resource *, unsigned long,
>> | >| unsigned long);
>> | >| ----
>> | >| But in the 2.6 version, find this:
>> | >| ----
>> | >| /* Compatibility cruft */
>> | >| [snip]
>> | >| extern int __check_region(struct resource *, unsigned long,
>> | >| unsigned long);
>> | >| [snip]
>> | >| static inline int __deprecated check_region(unsigned long s,
>> | >| unsigned long n)
>> | >| {
>> | >|         return __check_region(&ioport_resource, s, n);
>> | >| }
>> | >| ----
>> | >| First, the define itself is missing in the 2.6 version.
>
>What define?  check_region() is still there, just as an inline
> function, not a macro.
>
I found that later.

>> | >| Many drivers seem to use this call, and in that which I'm
>> | >| trying to build, the nforce and advansys modules use it.  And
>> | >| while the modules seem to build, they do not run properly.
>
>Explain?  Has someone broken check_region?

Its now marked __deprecated.  The module builds while indicating the 
errors, but gets into a bus reset loop and hangs in the second 
iteration of it.

>
>> I'm not terribly interested in spending much time on this driver,
>> so the simplest thing to do IMO is to emulate check_region() with
>> pairs of request_region() and release_region() calls.  Yes, this
>> is still racy, just like check_region() was.  Is that a problem
>> in your machine environment?
>
>I think this is the wrong thig to do.  Leaving the check_region()
>calls there indicate this driver still needs to be fixed properly.
>Replacing them with unsafe uses of request & release_region leaves
> the driver racy and removes the indication.

What do you suggest doing?

-- 
Cheers, Gene
AMD K6-III@500mhz 320M
Athlon1600XP@1400mhz  512M
99.27% setiathome rank, not too shabby for a WV hillbilly
Yahoo.com attornies please note, additions to this message
by Gene Heskett are:
Copyright 2003 by Maurice Eugene Heskett, all rights reserved.




-------------------------------------------------------
This SF.Net email sponsored by: Free pre-built ASP.NET sites including
Data Reports, E-commerce, Portals, and Forums are available now.
Download today and enter to win an XBOX or Visual Studio .NET.
http://aspnet.click-url.com/go/psa00100003ave/direct;at.aspnet_072303_01/01

^ permalink raw reply	[flat|nested] 29+ messages in thread

* Re: advansys regions [Re: 2.4 vs 2.6 versions of include/linux/ioport.h]
  2003-08-06 17:40     ` advansys regions [Re: 2.4 vs 2.6 versions of include/linux/ioport.h] Randy.Dunlap
  2003-08-06 17:59       ` Matthew Wilcox
  2003-08-06 18:31       ` Gene Heskett
@ 2003-08-07  7:36       ` Christoph Hellwig
  2003-08-07  9:33         ` Gene Heskett
  2 siblings, 1 reply; 29+ messages in thread
From: Christoph Hellwig @ 2003-08-07  7:36 UTC (permalink / raw)
  To: Randy.Dunlap; +Cc: gene.heskett, linux-scsi

On Wed, Aug 06, 2003 at 10:40:41AM -0700, Randy.Dunlap wrote:
> I'm not terribly interested in spending much time on this driver,
> so the simplest thing to do IMO is to emulate check_region() with
> pairs of request_region() and release_region() calls.  Yes, this
> is still racy, just like check_region() was.  Is that a problem
> in your machine environment?
> 
> Below is a patch that uses request_region/release_region pairs
> instead of check_region().  Does it work for you?

What the heck?  Just continue using check_region if you don't want
to spend the time fixing it.  At least we get a warning in that
case.


^ permalink raw reply	[flat|nested] 29+ messages in thread

* Re: advansys regions [Re: 2.4 vs 2.6 versions of include/linux/ioport.h]
  2003-08-07  7:36       ` Christoph Hellwig
@ 2003-08-07  9:33         ` Gene Heskett
  2003-08-07  9:47           ` Christoph Hellwig
  0 siblings, 1 reply; 29+ messages in thread
From: Gene Heskett @ 2003-08-07  9:33 UTC (permalink / raw)
  To: Christoph Hellwig, Randy.Dunlap; +Cc: linux-scsi

On Thursday 07 August 2003 03:36, Christoph Hellwig wrote:
>On Wed, Aug 06, 2003 at 10:40:41AM -0700, Randy.Dunlap wrote:
>> I'm not terribly interested in spending much time on this driver,
>> so the simplest thing to do IMO is to emulate check_region() with
>> pairs of request_region() and release_region() calls.  Yes, this
>> is still racy, just like check_region() was.  Is that a problem
>> in your machine environment?
>>
>> Below is a patch that uses request_region/release_region pairs
>> instead of check_region().  Does it work for you?
>
>What the heck?  Just continue using check_region if you don't want
>to spend the time fixing it.  At least we get a warning in that
>case.

But I'm getting tired of repeating myself here Christoph, the driver 
as built in the 2.6.0-test2-mm2, whether built as a module, or in the 
kernel, IS BROKEN!  It gets into a bus reset loop during the init, 
doing 2 of them, AND LOCKS THE MACHINE UP TIGHT REQUIRING A HARDWARE 
RESET TO RECOVER, which of course is by rebooting back to a 2.4 
kernel.

The diff between this driver in kernel-2.4.22-pre10 and the one in 
test2-mm2 is several kilobytes, so *somebody* has been working on it, 
but they not leaving much of a trail, or even apparently adding their 
names to the roll call.

Frankly, from the lack of support by Advansys turned Connectcom turned 
now by way of a bankruptcy into Initio, and the well meaning but 
don't always work suggestions from this group, I'm about to import 
the 2.4.22-pre10 version, header and all, and see what pukes because 
the 2.2-2.4 version has worked flawlessly for quite some time, at 
least 5 or 6 years and I've worn out several tape drives with it.

I even posted a patch here that MADE IT WORK, based on Randy Dunlaps 
first suggestion, but its not been propagated to Linus that I know 
of.  I guess it wasn't a proper patch, but when I tried the next 
suggestions to "make it better", I was then 2 steps short of square 
one in that it was broken again, and this time it couldn't even find 
my tape drive and its robot in between bus resets.

You could say I'm frustrated.  Like everyone else on this list, I'm 
tired of the machine, when not doing anything else except munching on 
a seti packet, has a half a gig of ram xosview says isn't all used 
and it still takes 20 to 30 seconds to launch mozilla when running a 
2.4 kernel.  This is after all, an athlon running at 1400 mhz and 
seti is running at a nice of 20.  2.4 has turned this machine into a 
one legged sick dog, one that needs to be put out of its misery.

IE on a 1.2 ghz winderz box is up and running in 1 second flat.  I saw 
it yesterday at the neighbors.

Does anyone know what became of Bob Frey?  He was at turbolinux.com.?? 
at one time, but google finds no references < 2 years old.

-- 
Cheers, Gene
AMD K6-III@500mhz 320M
Athlon1600XP@1400mhz  512M
99.27% setiathome rank, not too shabby for a WV hillbilly
Yahoo.com attornies please note, additions to this message
by Gene Heskett are:
Copyright 2003 by Maurice Eugene Heskett, all rights reserved.


^ permalink raw reply	[flat|nested] 29+ messages in thread

* Re: advansys regions [Re: 2.4 vs 2.6 versions of include/linux/ioport.h]
  2003-08-07  9:33         ` Gene Heskett
@ 2003-08-07  9:47           ` Christoph Hellwig
  2003-08-07 18:34             ` Gene Heskett
  0 siblings, 1 reply; 29+ messages in thread
From: Christoph Hellwig @ 2003-08-07  9:47 UTC (permalink / raw)
  To: Gene Heskett; +Cc: Randy.Dunlap, linux-scsi

On Thu, Aug 07, 2003 at 05:33:10AM -0400, Gene Heskett wrote:
> But I'm getting tired of repeating myself here Christoph, the driver 
> as built in the 2.6.0-test2-mm2, whether built as a module, or in the 
> kernel, IS BROKEN!  It gets into a bus reset loop during the init, 
> doing 2 of them, AND LOCKS THE MACHINE UP TIGHT REQUIRING A HARDWARE 
> RESET TO RECOVER, which of course is by rebooting back to a 2.4 
> kernel.

So how do you think replacing check_region by it's opencoded version
is going to help you?


^ permalink raw reply	[flat|nested] 29+ messages in thread

* Re: advansys regions [Re: 2.4 vs 2.6 versions of include/linux/ioport.h]
  2003-08-07  9:47           ` Christoph Hellwig
@ 2003-08-07 18:34             ` Gene Heskett
  2003-08-07 18:42               ` Randy.Dunlap
  0 siblings, 1 reply; 29+ messages in thread
From: Gene Heskett @ 2003-08-07 18:34 UTC (permalink / raw)
  To: Christoph Hellwig; +Cc: Randy.Dunlap, linux-scsi

On Thursday 07 August 2003 05:47, Christoph Hellwig wrote:
>On Thu, Aug 07, 2003 at 05:33:10AM -0400, Gene Heskett wrote:
>> But I'm getting tired of repeating myself here Christoph, the
>> driver as built in the 2.6.0-test2-mm2, whether built as a module,
>> or in the kernel, IS BROKEN!  It gets into a bus reset loop during
>> the init, doing 2 of them, AND LOCKS THE MACHINE UP TIGHT
>> REQUIRING A HARDWARE RESET TO RECOVER, which of course is by
>> rebooting back to a 2.4 kernel.
>
>So how do you think replacing check_region by it's opencoded version
>is going to help you?

I have no idea if request_region is the proper replacement call 
Christoph.  But in tests here, it did restore what appears to be 
normal operation.

Randy Dunlop says check_region is "racy".  And I'm no kernel coder 
unless I have complete hardware specs in front of me, which I do not.
Which is why I'm "pestering" this list for help and hopefully some 
nuggets of wisdom.
 
-- 
Cheers, Gene
AMD K6-III@500mhz 320M
Athlon1600XP@1400mhz  512M
99.27% setiathome rank, not too shabby for a WV hillbilly
Yahoo.com attornies please note, additions to this message
by Gene Heskett are:
Copyright 2003 by Maurice Eugene Heskett, all rights reserved.


^ permalink raw reply	[flat|nested] 29+ messages in thread

* Re: advansys regions [Re: 2.4 vs 2.6 versions of include/linux/ioport.h]
  2003-08-07 18:34             ` Gene Heskett
@ 2003-08-07 18:42               ` Randy.Dunlap
  2003-08-07 19:40                 ` Gene Heskett
  0 siblings, 1 reply; 29+ messages in thread
From: Randy.Dunlap @ 2003-08-07 18:42 UTC (permalink / raw)
  To: gene.heskett; +Cc: hch, linux-scsi

On Thu, 7 Aug 2003 14:34:21 -0400 Gene Heskett <gene.heskett@verizon.net> wrote:

| On Thursday 07 August 2003 05:47, Christoph Hellwig wrote:
| >On Thu, Aug 07, 2003 at 05:33:10AM -0400, Gene Heskett wrote:
| >> But I'm getting tired of repeating myself here Christoph, the
| >> driver as built in the 2.6.0-test2-mm2, whether built as a module,
| >> or in the kernel, IS BROKEN!  It gets into a bus reset loop during
| >> the init, doing 2 of them, AND LOCKS THE MACHINE UP TIGHT
| >> REQUIRING A HARDWARE RESET TO RECOVER, which of course is by
| >> rebooting back to a 2.4 kernel.
| >
| >So how do you think replacing check_region by it's opencoded version
| >is going to help you?
| 
| I have no idea if request_region is the proper replacement call 
| Christoph.  But in tests here, it did restore what appears to be 
| normal operation.
| 
| Randy Dunlop says check_region is "racy".  And I'm no kernel coder 
| unless I have complete hardware specs in front of me, which I do not.
| Which is why I'm "pestering" this list for help and hopefully some 
| nuggets of wisdom.

The real problem to be solved is why you are having problems
with the stock 2.6.0-test driver.  It uses check_region(), which
is deprecated, but that shouldn't stop it from working.
Do you have any logs of the "bus reset loop" during init?
You shouldn't have to change check_region() in the driver to
make it work.

--
~Randy				For Linux-2.6, see:
http://www.kernel.org/pub/linux/kernel/people/davej/misc/post-halloween-2.5.txt

^ permalink raw reply	[flat|nested] 29+ messages in thread

* Re: advansys regions [Re: 2.4 vs 2.6 versions of include/linux/ioport.h]
  2003-08-07 18:42               ` Randy.Dunlap
@ 2003-08-07 19:40                 ` Gene Heskett
  0 siblings, 0 replies; 29+ messages in thread
From: Gene Heskett @ 2003-08-07 19:40 UTC (permalink / raw)
  To: Randy.Dunlap; +Cc: hch, linux-scsi

On Thursday 07 August 2003 14:42, Randy.Dunlap wrote:
>On Thu, 7 Aug 2003 14:34:21 -0400 Gene Heskett 
<gene.heskett@verizon.net> wrote:
>| On Thursday 07 August 2003 05:47, Christoph Hellwig wrote:
>| >On Thu, Aug 07, 2003 at 05:33:10AM -0400, Gene Heskett wrote:
>| >> But I'm getting tired of repeating myself here Christoph, the
>| >> driver as built in the 2.6.0-test2-mm2, whether built as a
>| >> module, or in the kernel, IS BROKEN!  It gets into a bus reset
>| >> loop during the init, doing 2 of them, AND LOCKS THE MACHINE UP
>| >> TIGHT REQUIRING A HARDWARE RESET TO RECOVER, which of course is
>| >> by rebooting back to a 2.4 kernel.
>| >
>| >So how do you think replacing check_region by it's opencoded
>| > version is going to help you?
>|
>| I have no idea if request_region is the proper replacement call
>| Christoph.  But in tests here, it did restore what appears to be
>| normal operation.
>|
>| Randy Dunlop says check_region is "racy".  And I'm no kernel coder
>| unless I have complete hardware specs in front of me, which I do
>| not. Which is why I'm "pestering" this list for help and hopefully
>| some nuggets of wisdom.
>
>The real problem to be solved is why you are having problems
>with the stock 2.6.0-test driver.  It uses check_region(), which
>is deprecated, but that shouldn't stop it from working.
>Do you have any logs of the "bus reset loop" during init?
>You shouldn't have to change check_region() in the driver to
>make it work.
>
>--
>~Randy				For Linux-2.6, see:
>http://www.kernel.org/pub/linux/kernel/people/davej/misc/post-hallow
>een-2.5.txt

I do have some logs,  and I note that anytime I try to boot a 2.6, I 
get this:
----
Jul 31 10:42:41 coyote kernel: No module found in object
Jul 31 10:42:47 coyote wall[1242]: wall: user root broadcasted 1 lines 
(50 chars)
Jul 31 10:42:48 coyote kernel: warning: process `update' used the 
obsolete bdflush system call
Jul 31 10:42:48 coyote kernel: Fix your initscripts?
Jul 31 10:42:53 coyote kernel: warning: process `update' used the 
obsolete bdflush system call
Jul 31 10:42:53 coyote kernel: Fix your initscripts?

And here is one from after I built the stocker as a module:
----
Jul 30 19:15:35 coyote kernel: scsi0 : AdvanSys SCSI 3.3GJ: PCI Ultra: 
IO 0xD000-0xD00F, IRQ 0xB
Jul 30 19:15:41 coyote kernel: advansys: advansys_reset: board 0: SCSI 
bus reset started...
Jul 30 19:15:41 coyote kernel: advansys: advansys_reset: board 0: SCSI 
bus reset successful.
Jul 30 19:15:52 coyote kernel: scsi: Device offlined - not ready after 
error recovery: host 0 channel 0 id 0 lun 0
Jul 30 19:15:52 coyote kernel:   Vendor: ARCHIVE   Model: Python 
28849-XXX  Rev: 4.CM
Jul 30 19:15:52 coyote kernel:   Type:   Sequential-Access                  
ANSI SCSI revision: 02
Jul 30 19:15:52 coyote kernel: Attached scsi tape st0 at scsi0, 
channel 0, id 1, lun 0
Jul 30 19:15:52 coyote kernel: st0: try direct i/o: yes, max page 
reachable by HBA 131056
Jul 30 19:15:52 coyote kernel: Attached scsi generic sg0 at scsi0, 
channel 0, id 1, lun 0,  type 1
Jul 30 19:15:52 coyote kernel:   Vendor: ARCHIVE   Model: Python 
28849-XXX  Rev: 4.CM
Jul 30 19:15:52 coyote kernel:   Type:   Medium Changer                     
ANSI SCSI revision: 02
Jul 30 19:15:52 coyote kernel: Attached scsi generic sg1 at scsi0, 
channel 0, id 1, lun 1,  type 8
Jul 30 19:16:00 coyote kernel: advansys: advansys_reset: board 0: SCSI 
bus reset started...
Jul 30 19:16:00 coyote kernel: advansys: advansys_reset: board 0: SCSI 
bus reset successful.
Jul 30 19:16:20 coyote kernel: scsi: Device offlined - not ready after 
error recovery: host 0 channel 0 id 6 lun 0
### there is no device at this---^^^^ address.  Now back to your 
### regularly scheduled program
Jul 30 19:17:28 coyote su(pam_unix)[3556]: session opened for user 
amanda by root(uid=0)
Jul 30 19:18:38 coyote login(pam_unix)[1235]: session opened for user 
root by LOGIN(uid=0)
Jul 30 19:18:38 coyote  -- root[1235]: ROOT LOGIN ON tty2
Jul 30 19:19:16 coyote kernel: advansys: asc_isr_callback: scp 
0xc045ac80 has bad host pointer, host 0x0
Jul 30 19:19:16 coyote kernel: st0: Block limits 1 - 16777215 bytes.
Jul 30 19:20:00 coyote su(pam_unix)[3556]: session closed for user 
amanda
Jul 30 19:30:31 coyote shutdown: shutting down for system reboot
=====

And here is the log from when I had put in request_region and built it 
as a module:
----
Aug  5 16:36:38 coyote kernel: scsi0 : AdvanSys SCSI 3.3GJ: PCI Ultra: 
IO 0xD000-0xD00F, IRQ 0xB
Aug  5 16:36:38 coyote kernel:   Vendor: ARCHIVE   Model: Python 
28849-XXX  Rev: 4.CM
Aug  5 16:36:38 coyote kernel:   Type:   Sequential-Access                  
ANSI SCSI revision: 02
Aug  5 16:36:38 coyote kernel: Attached scsi tape st0 at scsi0, 
channel 0, id 1, lun 0
Aug  5 16:36:38 coyote kernel: st0: try direct i/o: yes, max page 
reachable by HBA 131056
Aug  5 16:36:38 coyote kernel: Attached scsi generic sg0 at scsi0, 
channel 0, id 1, lun 0,  type 1
Aug  5 16:36:38 coyote kernel:   Vendor: ARCHIVE   Model: Python 
28849-XXX  Rev: 4.CM
Aug  5 16:36:38 coyote kernel:   Type:   Medium Changer                     
ANSI SCSI revision: 02
Aug  5 16:36:38 coyote kernel: Attached scsi generic sg1 at scsi0, 
channel 0, id 1, lun 1,  type 8
====
And here is where I had built that same module into the kernel, after 
I had updated the version strings and some comments in it:
----
Aug  5 17:30:16 coyote kernel: scsi0 : AdvanSys SCSI 3.4MGH: PCI 
Ultra: IO 0xD000-0xD00F, IRQ 0xB
Aug  5 17:30:16 coyote kernel:   Vendor: ARCHIVE   Model: Python 
28849-XXX  Rev: 4.CM
Aug  5 17:30:16 coyote kernel:   Type:   Sequential-Access                  
ANSI SCSI revision: 02
Aug  5 17:30:16 coyote kernel:   Vendor: ARCHIVE   Model: Python 
28849-XXX  Rev: 4.CM
Aug  5 17:30:16 coyote kernel:   Type:   Medium Changer                     
ANSI SCSI revision: 02
Aug  5 17:30:16 coyote kernel: st: Version 20030622, fixed bufsize 
32768, s/g segs 256
Aug  5 17:30:16 coyote kernel: Attached scsi tape st0 at scsi0, 
channel 0, id 1, lun 0
Aug  5 17:30:16 coyote kernel: st0: try direct i/o: yes, max page 
reachable by HBA 131056
Aug  5 17:30:16 coyote kernel: Attached scsi generic sg0 at scsi0, 
channel 0, id 1, lun 0,  type 1
Aug  5 17:30:16 coyote kernel: Attached scsi generic sg1 at scsi0, 
channel 0, id 1, lun 1,  type 8

After this particular boot I repeatedly exersized the amanda and mt 
related stuff trying to break it, but I could not.

That is the total of the 2.6.0-test2-mm2 logging as most of the time 
it hung the machine before it could generate a syslog entry and flush 
it to the media.  I presume there is a var in the headers I could set 
that would make it do a much more verbose init?

-- 
Cheers, Gene
AMD K6-III@500mhz 320M
Athlon1600XP@1400mhz  512M
99.27% setiathome rank, not too shabby for a WV hillbilly
Yahoo.com attornies please note, additions to this message
by Gene Heskett are:
Copyright 2003 by Maurice Eugene Heskett, all rights reserved.


^ permalink raw reply	[flat|nested] 29+ messages in thread

end of thread, other threads:[~2003-08-07 19:40 UTC | newest]

Thread overview: 29+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2003-08-05 14:41 2.4 vs 2.6 versions of include/linux/ioport.h Gene Heskett
2003-08-05 14:57 ` Randy.Dunlap
2003-08-05 15:22   ` Gene Heskett
2003-08-05 15:45     ` Randy.Dunlap
2003-08-05 19:08       ` Gene Heskett
2003-08-05 22:07         ` 2.4 vs 2.6 ver# extra configure info CONFIGURE_ARGS += --disable-debug --enable-final --with-java=/usr/java/j2re1.4.1sions " Gene Heskett
2003-08-06  0:26           ` Andrew McGregor
2003-08-06  1:56             ` 2.4 vs 2.6 versions " Gene Heskett
2003-08-06  2:08           ` 2.5/2.6 NVidia (was Re: 2.4 vs 2.6 ver# Valdis.Kletnieks
2003-08-06  2:32             ` Gene Heskett
2003-08-06  2:53             ` Gene Heskett
2003-08-06  3:06               ` Valdis.Kletnieks
2003-08-06  5:51                 ` 2.5/2.6 NVidia (was Re: 2.4 vs 2.6 version of ioport.h) Gene Heskett
2003-08-06  0:50   ` 2.4 vs 2.6 versions of include/linux/ioport.h Gene Heskett
2003-08-06 17:40     ` advansys regions [Re: 2.4 vs 2.6 versions of include/linux/ioport.h] Randy.Dunlap
2003-08-06 17:59       ` Matthew Wilcox
2003-08-06 18:02         ` Randy.Dunlap
2003-08-06 18:35         ` Gene Heskett
2003-08-06 18:50           ` Randy.Dunlap
2003-08-06 19:18             ` Gene Heskett
2003-08-06 23:20         ` Gene Heskett
2003-08-06 18:31       ` Gene Heskett
2003-08-07  7:36       ` Christoph Hellwig
2003-08-07  9:33         ` Gene Heskett
2003-08-07  9:47           ` Christoph Hellwig
2003-08-07 18:34             ` Gene Heskett
2003-08-07 18:42               ` Randy.Dunlap
2003-08-07 19:40                 ` Gene Heskett
2003-08-05 15:10 ` 2.4 vs 2.6 versions of include/linux/ioport.h Gene Heskett

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.