cs(4) MPSAFE patch

M. Warner Losh imp at bsdimp.com
Thu Jun 5 05:55:27 UTC 2008


In message: <200806041126.28347.jhb at freebsd.org>
            John Baldwin <jhb at FreeBSD.org> writes:
: On Wednesday 04 June 2008 03:12:15 am M. Warner Losh wrote:
: > In message: <20080604.001253.1683325662.imp at bsdimp.com>
: >             "M. Warner Losh" <imp at bsdimp.com> writes:
: > : In message: <200805281715.39536.jhb at freebsd.org>
: > :             John Baldwin <jhb at freebsd.org> writes:
: > : : I have a patch to make cs(4) MPSAFE.  As with previous patches, 
: ENOHARDWARE.  
: > : : If you care about this driver, test the patch.
: > : : 
: > : : http://www.FreeBSD.org/~jhb/patches/cs.patch
: > : 
: > : This patch appears to work for me, but I've not stress tested the
: > : interface.
: > : 
: > : I did have to make a bunch of other changes to the driver to fix some
: > : obvious bogons that got in my way.  These bogons are in the cs driver,
: > : not in your patches to the cs driver.  I'm flushing those into svn and
: > : looping back the changes plus your patches to make sure things still
: > : work.  I'll report more when I know more.  Note: this is PCMCIA card
: > : only (IBM EtherJet Ethernet PC Card).
: > : 
: > : I can confirm that your patch still applies after my changes, although
: > : with a fuzz factor.
: > 
: > Upon further testing, I've discovered that the driver neglects to tear
: > down the ISR.
: > 
: > http://people.freebsd.org/~imp/cs.patch.new
: > 
: > fixes the problem, but may also have some stray goo in it too.
: 
: I've updated cs.patch, I just put the teardown in detach as that is the only 
: place it is needed (other drivers are similar).  Also, I broke the watchdog 
: timer in the patch you have, so you may want to fetch the updated patch for 
: that.  Thanks for testing this.
: 
: -- 
: John Baldwin
: 
: 
In message: <200806041126.28347.jhb at freebsd.org>
            John Baldwin <jhb at FreeBSD.org> writes:
: On Wednesday 04 June 2008 03:12:15 am M. Warner Losh wrote:
: > In message: <20080604.001253.1683325662.imp at bsdimp.com>
: >             "M. Warner Losh" <imp at bsdimp.com> writes:
: > : In message: <200805281715.39536.jhb at freebsd.org>
: > :             John Baldwin <jhb at freebsd.org> writes:
: > : : I have a patch to make cs(4) MPSAFE.  As with previous patches, 
: ENOHARDWARE.  
: > : : If you care about this driver, test the patch.
: > : : 
: > : : http://www.FreeBSD.org/~jhb/patches/cs.patch
: > : 
: > : This patch appears to work for me, but I've not stress tested the
: > : interface.
: > : 
: > : I did have to make a bunch of other changes to the driver to fix some
: > : obvious bogons that got in my way.  These bogons are in the cs driver,
: > : not in your patches to the cs driver.  I'm flushing those into svn and
: > : looping back the changes plus your patches to make sure things still
: > : work.  I'll report more when I know more.  Note: this is PCMCIA card
: > : only (IBM EtherJet Ethernet PC Card).
: > : 
: > : I can confirm that your patch still applies after my changes, although
: > : with a fuzz factor.
: > 
: > Upon further testing, I've discovered that the driver neglects to tear
: > down the ISR.
: > 
: > http://people.freebsd.org/~imp/cs.patch.new
: > 
: > fixes the problem, but may also have some stray goo in it too.
: 
: I've updated cs.patch, I just put the teardown in detach as that is the only 
: place it is needed (other drivers are similar).  Also, I broke the watchdog 
: timer in the patch you have, so you may want to fetch the updated patch for 
: that.  Thanks for testing this.

OK.  I'm sure the new one works now.  I had to fix a few other bugs in
the driver to make it work.  I've committed those fixes.  Your fixes
can go in at any time and we know that at least the PC Card parts will
work (AFAIK, the IBM EtherJet was the only card to use this chip,
although there appears to be at least one Japanese variant that used
it too, but had the IBM EtherJet CIS loaded).

Warner


More information about the freebsd-current mailing list