| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
| |
malloc(9) flags in sys/dev.
|
|
|
|
|
|
| |
The SYSCTL_NODE macro defines a list that stores all child-elements of
that node. If there's no SYSCTL_DECL macro anywhere else, there's no
reason why it shouldn't be static.
|
|
|
|
|
|
|
|
|
|
| |
queue length. The default value for this parameter is 50, which is
quite low for many of today's uses and the only way to modify this
parameter right now is to edit if_var.h file. Also add read-only
sysctl with the same name, so that it's possible to retrieve the
current value.
MFC after: 1 month
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
IF_ADDR_UNLOCK() across network device drivers when accessing the
per-interface multicast address list, if_multiaddrs. This will
allow us to change the locking strategy without affecting our driver
programming interface or binary interface.
For two wireless drivers, remove unnecessary locking, since they
don't actually access the multicast address list.
Approved by: re (kib)
MFC after: 6 weeks
|
|
|
|
| |
the only changes are from gcc moving some global variables around slightly.
|
| |
|
|
|
|
|
|
|
| |
MAC events.
- Use bus_*() rather than bus_space_*() and remove the bus space tag and
handle from the softc.
- Retire unused macros for examining CIS tuples.
|
|
|
|
|
|
|
| |
timer by keeping a once-a-second timer running that decrements a counter
similar to if_timer and reset the chip if it gets down to zero via the
decrement.
- Use IFQ_SET_MAXLEN().
|
|
|
|
|
|
|
|
|
|
|
| |
- Add a mutex to protect the softc and device hardware.
- Use a callout rather than a callout_handle for the media timer.
- Use a dedicated timer for managing the tx watchdog rather than if_timer.
- Fix some resource leaks if xe_attach() fails.
- Shutdown the device before detaching the driver.
- Setup the interrupt handler after ether_ifattach().
Tested by: Ian FREISLICH ianf of clue.co.za
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
bus_setup_intr()
o add an int return code to all fast handlers
o retire INTR_FAST/IH_FAST
For more info: http://docs.freebsd.org/cgi/getmsg.cgi?fetch=465712+0+current/freebsd-current
Reviewed by: many
Approved by: re@
|
|
|
|
|
|
|
|
| |
simultaneously. Remove "#' flag to match a style of the rest of
file.
PR: kern/85477
Submitted by: Oliver Fromme
|
|
|
|
|
|
|
|
|
|
| |
rather than in ifindex_table[]; all (except one) accesses are
through ifp anyway. IF_LLADDR() works faster, and all (except
one) ifaddr_byindex() users were converted to use ifp->if_addr.
- Stop storing a (pointer to) Ethernet address in "struct arpcom",
and drop the IFP2ENADDR() macro; all users have been converted
to use IF_LLADDR() instead.
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
| |
if (foo);
bar();
to:
if (foo)
bar();
Really, really nasty bug and a very nice catch of mine.
Unfortunately, I'll not become a hero of the day, because the code is
commented out.
|
|
|
|
|
|
|
| |
could get an interrupt after we free the ifp, and the interrupt
handler depended on the ifp being still alive, this could, in theory,
cause a crash. Eliminate this possibility by moving the if_free to
after the bus_teardown_intr() call.
|
|
|
|
|
|
| |
o Use pccard_cis_scan
o use pccard_attr_write_1
o Update comments
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
IFF_DRV_RUNNING, as well as the move from ifnet.if_flags to
ifnet.if_drv_flags. Device drivers are now responsible for
synchronizing access to these flags, as they are in if_drv_flags. This
helps prevent races between the network stack and device driver in
maintaining the interface flags field.
Many __FreeBSD__ and __FreeBSD_version checks maintained and continued;
some less so.
Reviewed by: pjd, bz
MFC after: 7 days
|
|
|
|
| |
code elsewhere in the driver.
|
|
|
|
|
|
|
|
| |
over iteration of their multicast address lists when synchronizing the
hardware address filter with the network stack-maintained list.
Problem reported by: Ed Maste (emaste at phaedrus dot sandvine dot ca>
MFC after: 1 week
|
|
|
|
|
|
|
| |
offset varies between models of these cards.
# this gets the MAC address right for my CEM-2, but it doesn't detect
# the media attached correctly.
|
| |
|
|
|
|
|
| |
when the base vendor/id didn't match. Some cards woudl bogusly match
and would cause other downstream problems.
|
|
|
|
|
|
|
|
|
|
| |
and combine the old xe_pccard_{probe,attach} into one routine _attach.
Create a lookup function to lookup items in the table. Eliminate the
check for network cards, since many modems were eliminated by it.
Tweak a few printfs as well.
This gets many of my older cards working again CEM2, CEM28, CEM36,
etc.
|
|
|
|
|
|
|
| |
distribution. Add the appropriate devices to the man pages.
Obtained from: pcmcia-cs
Approved by: re (scottl)
|
|
|
|
|
|
|
|
| |
Provide a backwards compatible way to have the extra macro by defining
PCCARD_API_LEVEL 5 before including pccarddevs for driver writers that
want/need to have the same driver on 5 and 6 with pccard attachments.
Approved by: re (dwhite)
|
|
|
|
|
| |
Reported by: delphij
Approved by: re (ifnet blanket)
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
struct ifnet or the layer 2 common structure it was embedded in have
been replaced with a struct ifnet pointer to be filled by a call to the
new function, if_alloc(). The layer 2 common structure is also allocated
via if_alloc() based on the interface type. It is hung off the new
struct ifnet member, if_l2com.
This change removes the size of these structures from the kernel ABI and
will allow us to better manage them as interfaces come and go.
Other changes of note:
- Struct arpcom is no longer referenced in normal interface code.
Instead the Ethernet address is accessed via the IFP2ENADDR() macro.
To enforce this ac_enaddr has been renamed to _ac_enaddr.
- The second argument to ether_ifattach is now always the mac address
from driver private storage rather than sometimes being ac_enaddr.
Reviewed by: sobomax, sam
|
|
|
|
| |
Fix a comment
|
| |
|
|
|
|
| |
the interface as IFF_NEEDSGIANT so if_start is run holding Giant.
|
|
|
|
|
|
|
|
| |
Add Intel Pro100Lan56 card.
Also integrate changes from Carlos Velasco. Only attch if we're a
network device (to filter out the serial devices). Also, increment
vpmatch if we match to conform to the pccard match function api.
|
|
|
|
| |
This should fix multicast reception.
|
| |
|
|
|
|
|
|
| |
redundant includes and fix some of the include disordering.
Submitted by: bde
|
|
|
|
|
|
|
| |
the modules.
Also generate usbdevs.h automatically now, but a non-kernel file is
stopping that at the moment.
|
|
|
|
| |
for us.
|
|
|
|
|
|
|
|
|
|
|
|
| |
if the link-level address has been initialized already.
The majority of modern drivers never does this and works fine, which
makes me think that the check is totally unnecessary and a residue
of cut&paste from other drivers.
This change is done to simplify locking because now almost none of the
drivers uses this field. The exceptions are "ct" "ctau" and "cx"
where i am not sure if i can remove that part.
|
|
|
|
|
|
| |
Found by: Pete Carss <itinerant at mac dot com>
Reviewed by: imp (mentor)
Pointy hat to: rsm
|
|
|
|
|
|
| |
CIS. Really needs a better interface to the CIS in pccard driver.
Reviewed by: imp (mentor)
|
|
|
|
|
|
| |
Should now correctly probe and attach all supported cards in either mode.
Reviewed by: imp (mentor)
|
|
|
|
|
| |
Submitted by: Mark Santcroos <marks@ripe.net>
Reviewed by: imp, dfr, bde
|
| |
|
|
|
|
| |
Requested by: bde,imp
|
|
|
|
|
|
|
| |
multicast hash are written. There are still two distinct algorithms used,
and there actually isn't any reason each driver should have its own copy
of this function as they could all share one copy of it (if it grew an
additional argument).
|
|
|
|
|
|
| |
sure that it's not needed any more.
Reviewed by: imp (mentor)
|
|
|
|
| |
for now.
|
|
|
|
|
|
|
|
| |
from the xe driver. Should probably be removed when current probe/attach
problems with the driver are fixed, but is useful now when requesting
diagnostic information from users.
Reviewed by: imp (mentor)
|
|
|
|
|
|
| |
Remove XE_VENDOR_ID_* defines in favour of PCMCIA_VENDOR_*.
Reviewed by: imp (mentor)
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
if_xname, if_dname, and if_dunit. if_xname is the name of the interface
and if_dname/unit are the driver name and instance.
This change paves the way for interface renaming and enhanced pseudo
device creation and configuration symantics.
Approved By: re (in principle)
Reviewed By: njl, imp
Tested On: i386, amd64, sparc64
Obtained From: NetBSD (if_xname)
|
|
|
|
|
|
|
| |
without a detach call in between so don't try to deal with that
possiability.
This is a diff-reduction commit for the upcoming if_xname conversion.
|