member variable to find the configuration on new driver allocation.
Correct condition is that card_config and driver are not in use. Both
of them are cleared in card_removed() (conf->driver->card never be
cleared).
This fix problems `No free configuration for card' on insertion, and
pccardd core dump on removal in condition of the same driver but
different card.
Also this might be emergency measures, complete solution would be made
after Hosokawa-san come back.
Consulted with: imp
Waiting for: hosokawa
For example, when /etc/pccard.conf had ed0 in config line, but kernel
refused this name and said
devclass_alloc_unit: ed0 already exists, using next availale unit
number
Kernel used ed1 as device name and it did not match with config and
insert/remove lines. Fortunately, dhclient was called without args,
and it works, but if we wanted to use static IP address for PC-card,
it did not work.
This modification makes pccardd to execute insert/remove lines with
the true device name that returns from kernel. (Last change to
etc/pccard.conf.sample eliminated all hardwired device name from
insert/remove lines in /etc/pccard.conf)
is a race here that the old code didn't deal with, and I'm not
completely sure this is the right way to solve it, but it works here.
Should get rid of the dreaded "No free configuration for card" message.
section we take them from to be up to 255 bytes long, so that's the
max size for the string. They can't all be this big, but I don't have
a better number and better to be a little long than a little short.
Also only consume len characters of the cis buffer so we don't run off
the end into the next buffer and get garbage. This second patch
shouldn't impact anything, but I'll hold off back porting this to
-stable until I get more reports on the stability before/after this
fix.
individual slots at one's whim. Useful for turning the slots into
card carrying cases, etc. Patch was originally from mihira-san in
message to freebsd-mobile. He ported the code originally from PAO.
Submitted by: MIHIRA Sanpei Yoshiro <sanpei@sanpei.org>
o Document debug level keyword
o Implement debug level:
o For most of the diagnostic messages, change them from #ifdef DEBUG
to if (debuglevel > 0).
o Add a couple more diagnostic messages that weren't present before
o Fix a couple of excessively long lines.
Reviewed by: hosokawa-san
o Start to implement the stopgap kludge for -current's pccard code by passing
the length of the i/o range. If DEV_DESC_HAS_SIZE is defined, we'll set
the size. This is done as an ifdef so that I can generate patches
against the kernel more easily.
o Add preliminary support for tweaking sleep times, but leave it
disabled until a good range of values can be established.
Didn't fix: logmsg problem noted by Nate.
Allocate free I/O window with given size to card.
(example)
# IBM PCMCIA Ethernet I/II
card "IBM Corp." "Ethernet"
config 0x1 "ed0" ?
iosize 32
ether 0xff0
(it's currently only useful for externalizing hacks for broken CIS cards,
but it will play an important role with "function" directive I'm planninng
to merge)
Reviewed by: freebsd-mobile list
Obtained from: PAO3's "cardio" directive
track.
The Id line is normally at the bottom of the main comment block in the
man page, separated from the rest of the manpage by an empty comment,
like so;
.\" $Id$
.\"
If the immediately preceding comment is a @(#) format ID marker than the
the $Id$ will line up underneath it with no intervening blank lines.
Otherwise, an additional blank line is inserted.
Approved by: bde
Obtained from: PAO (written in Japanese)
Reviewed by: bsd-nomads@clave.gr.jpfreebsd-mobile@freebsd.org
Randy Bush <randy@psg.com>
Bill Trost <trost@grey.cloud.rain.com>
Bruce Campbell <bc@apnic.net>
before printing it. Terminate when we come to a 0xff byte. This
allows there to be zero or more additional info fields printed
correctly. Before, the old code would print bogons or dump core when
presented with this case.
I don't know what the spec says about this, exactly, but this allows
me to do a dumpcis of my non-ATA AMP 4M FLASH cards w/o pccardc
dumping core.
change it w/out informing the program. Instead, use the (now available)
previous state returned by the kernel to make intelligent card
removal/insertion decisions.