| Age | Commit message (Collapse) | Author |
|
Signed-off-by: Stephen Hemminger <shemminger@vyatta.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
|
|
Also remove unneeded last_rx update from Synclink drivers.
Synclink part mostly by Stephen Hemminger.
Signed-off-by: Krzysztof Hałasa <khc@pm.waw.pl>
Signed-off-by: David S. Miller <davem@davemloft.net>
|
|
This is the last shoot of this series.
After I removing all directly reference of netdev->priv, I am killing
"priv" of "struct net_device" and fixing relative comments/docs.
Anyone will not be allowed to reference netdev->priv directly.
If you want to reference the memory of private data, use netdev_priv()
instead.
If the private data is not allocted when alloc_netdev(), use
netdev->ml_priv to point that memory after you creating that private
data.
Signed-off-by: Wang Chen <wangchen@cn.fujitsu.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
|
|
For killing directly reference of netdev->priv, use netdev->ml_priv to replace it.
Because the private pvc data comes from add_pvc() and can't be allocated in
alloc_netdev().
Signed-off-by: Wang Chen <wangchen@cn.fujitsu.com>
Acked-by: Krzysztof Halasa <khc@pm.waw.pl>
Signed-off-by: David S. Miller <davem@davemloft.net>
|
|
There is no point in using separate net_device_stats structs when
the one in struct net_device is present. Compiles.
Signed-off-by: Krzysztof Hałasa <khc@pm.waw.pl>
Signed-off-by: Jeff Garzik <jgarzik@redhat.com>
|
|
Removes now unneeded struct hdlc_device_desc
Signed-off-by: Krzysztof Halasa <khc@pm.waw.pl>
Signed-off-by: Jeff Garzik <jeff@garzik.org>
|
|
Sparse annotations, including two minor bugfixes.
Signed-off-by: Krzysztof Halasa <khc@pm.waw.pl>
Signed-off-by: Jeff Garzik <jeff@garzik.org>
|
|
For the common, open coded 'skb->mac.raw = skb->data' operation, so that we can
later turn skb->mac.raw into a offset, reducing the size of struct sk_buff in
64bit land while possibly keeping it as a pointer on 32bit.
This one touches just the most simple case, next will handle the slightly more
"complex" cases.
Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
|
|
This patch enables building of individual WAN protocol support
routines (parts of generic HDLC) as separate modules.
All protocol-private definitions are moved from hdlc.h file
to protocol drivers. User-space interface and interface
between generic HDLC and underlying low-level HDLC drivers
are unchanged.
Signed-off-by: Krzysztof Halasa <khc@pm.waw.pl>
Signed-off-by: Jeff Garzik <jeff@garzik.org>
|
|
This patch converts generic HDLC (and WAN drivers using it) from
hdlc_set_carrier() to netif_dormant*() interface.
WAN hardware drivers should now use netif_carrier_on|off() like
other network drivers.
Signed-off-by: Krzysztof Halasa <khc@pm.waw.pl>
Signed-off-by: David S. Miller <davem@davemloft.net>
|
|
David Boggs noticed that register_hdlc_device() no longer needs
to call dev_alloc_name() as it's called by register_netdev().
register_hdlc_device() is currently equivalent to register_netdev().
hdlc_setup() is now EXPORTed as per David's request.
Signed-off-by: Krzysztof Halasa <khc@pm.waw.pl>
Signed-off-by: Jeff Garzik <jeff@garzik.org>
|
|
tr_type_trans(), hippi_type_trans() left as-is.
Signed-off-by: Alexey Dobriyan <adobriyan@gmail.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
|
|
The attached patch updates generic HDLC to version 1.18.
FR Cisco LMI production-tested. Please apply to Linux 2.6. Thanks.
Changes:
- doc updates
- added Cisco LMI support to Frame-Relay code
- cleaned hdlc_fr.c a bit, removed some orphaned #defines etc.
- fixed a problem with non-functional LMI in FR DCE mode.
- changed diagnostic messages to better conform to FR standards
- all protocols: information about carrier changes (DCD line) is now
printed to kernel logs.
Signed-Off-By: Krzysztof Halasa <khc@pm.waw.pl>
|
|
Signed-off-by: Arnaldo Carvalho de Melo <acme@conectiva.com.br>
Signed-off-by: David S. Miller <davem@redhat.com>
|
|
The attached patch updates generic HDLC:
- fixed some carrier-related problems (Cisco HDLC and FR links could
report valid link when no carrier was detected at startup).
- fixed kbuild problems with wanxl firmware (building kernel in separate
tree). $(src)/wanxlfw.inc is now wanxlfw.inc_shipped.
|
|
Now we can kill the embedding of net_device into hdlc_device. Indeed,
all instances of hdlc_device are created by alloc_hdlcdev() and nothing
uses hdlc->netdev directly. So we can
* remove hdlc->netdev
* have alloc_hdlcdev() implemented via alloc_netdev() with the rest
of hdlc_device as private part of net_device.
* replace free_hdlcdev() with free_netdev().
* have dev_to_hdlc(dev) simply return netdev_priv(dev).
|
|
No more users, we may remove it.
|
|
New field in hdlc_device: void *priv;
New helpers:
struct net_device *alloc_hdlcdev(priv) allocates hdlc, sets ->priv and
returns pointer to hdlc->netdev
free_hdlcdev(dev) takes such pointer and frees its hdlc.
wanxl switched to use of those; instead of embedding hdlc into card->ports[]
we allocate it separately right after card had been allocated and store pointer
to hdlc->netdev in card->ports[]->dev. Freeing is done just before freeing
card. Pointer back to card->ports[] is stored in hdlc->priv. port_to_dev()
and dev_to_port() rewritten in the obvious way; by now the rest of driver
doesn't care whether hdlc is embedded or not - everything uses port_to_dev()
and dev_to_port().
That killed embedded hdlc replacing it with pointer to net_device. Fairly
similar work will be done in the next few patches for other drivers.
Additionally, setup-after-register and free_irq()-before-unregister races
had been fixed.
|
|
register_hdlc_device()/unregister_hdlc_device() switched to net_device.
Now all remaining callers of hdlc_to_dev() are isolated and we can
start killing them.
|
|
New inlined helper - hdlc_stats(). A lot of places had it spelled out;
replaced with calls.
|
|
Switched remaining ioctls to net_device, killed a bunch of hdlc_to_dev()
and killed hdlc_to_name().
|
|
|
|
|
|
|
|
Eliminated a bunch of ->netdev and hdlc_to_dev() uses.
|
|
|
|
|
|
|
|
Beginning of hdlc fixes. hdlc_open() switched from hdlc_device to net_device.
|
|
From: Krzysztof Halasa <khc@pm.waw.pl>
The following patch upgrades generic HDLC to support "new" protocol
handlers.
|
|
This updates generic HDLC from 1.14 to 1.15.
- fix a kernel panic caused by a recent change to unregister_netdevice()
(struct net_device * can't be kfreed before rtnl_unlock())
- adds carrier_* support - hw drivers report DCD status and higher level
protocols use that info, and do netif_carrier_{on,off}() according to
DCD and (Cisco and FR) link management status.
- moves Frame-Relay constants etc. from include/linux/hdlc.h to hdlc_fr.c.
They are internal FR things and are not needed in the global header.
- protocol hooks are slighty changed to allow zeroing (memset).
- removes CONFIG_HDLC_DEBUG_* variables. Users tend to make very wrong
use of them. Now setting them requires changing .c #define. Anyway they
are development-only things.
- misc style corrections etc.
|
|
This version fixes:
- missing rtnl_lock()/rtnl_unload() bug on unregister_hdlc_device
- N2, C101: interrupt handler now works under high IRQ load from other
devices (with previous versions, the IRQ processing for the card could
sometimes stop after reaching "work limit")
This is production-tested on devices I have access to (N2, C101, PC300,
PCI200SYN).
|
|
|
|
device and protocol attach/detach support.
Overall, this is in preparation for update of HDLC API
|
|
New file and directory include/linux/hdlc/ioctl.h, containing
only WAN ioctl-related definitions.
Update include/linux/if.h to reference these structures, providing
us with complete type safety, including through ioctls.
|
|
s/SIOCDEVICE/SIOCWANDEV/
|
|
Add new HDLC interface, split up huge hdlc.c driver into
multiple files based on hardware type. Convert WAN drivers
to new interface.
|
|
- Anton Altaparmakov: NTFS error checking
- Johannes Erdfelt: USB updates
- OGAWA Hirofumi: FAT update
- Alan Cox: driver + s390 update merge
- Richard Henderson: fix alpha sigsuspend error return value
- Marcelo Tosatti: per-zone VM shortage
- Daniel Phillips: generic use-once optimization instead of drop-behind
- Bjorn Wesen: Cris architecture update
- Anton Altaparmakov: support for Windows Dynamic Disks
- James Washer: LDT loading SMP bug fix
|
|
- Alan Cox: continued merging
- Urban Widmark: smbfs fix (d_add on already hashed dentry - no-no).
- Andrew Morton: 3c59x update
- Jeff Garzik: network driver cleanups and fixes
- Gérard Roudier: sym-ncr drivers update
- Jens Axboe: more loop cleanups and fixes
- David Miller: sparc update, some networking fixes
|