summaryrefslogtreecommitdiff
path: root/drivers/net/wan/hdlc_ppp.c
AgeCommit message (Collapse)AuthorFilesLines
2015-12-06WAN: HDLC: Call notifiers before and after changing device typeAndrew Lunn1-0/+1
An HDLC device can change type when the protocol driver is changed. Calling the notifier change allows potential users of the interface know about this planned change, and even block it. After the change has occurred, send a second notification to users can evaluate the new device type etc. Signed-off-by: Andrew Lunn <andrew@lunn.ch> Signed-off-by: David S. Miller <davem@davemloft.net>
2011-08-22net/wan/hdlc_ppp: use break in switchJesper Juhl1-7/+7
We'll either hit one of the case labels or the default in the switch and in all cases do we then 'goto out' and we also have a 'goto out' after the switch that is redundant. Change to just use break in the case statements and leave the 'goto out' after the lop for everyone to hit. Signed-off-by: Jesper Juhl <jj@chaosbits.net> Signed-off-by: David S. Miller <davem@davemloft.net>
2011-06-27generic_hdlc: Update to current logging formsJoe Perches1-5/+4
Use pr_fmt, pr_<level> and netdev_<level> as appropriate. Signed-off-by: Joe Perches <joe@perches.com> Signed-off-by: David S. Miller <davem@davemloft.net>
2010-04-17WAN: flush tx_queue in hdlc_ppp to prevent panic on rmmod hw_driver.Krzysztof Halasa1-0/+6
tx_queue is used as a temporary queue when not allowed to queue skb directly to the hw device driver (which may sleep). Most paths flush it before returning, but ppp_start() currently cannot. Make sure we don't leave skbs pointing to a non-existent device. Thanks to Michael Barkowski for reporting this problem. Signed-off-by: Krzysztof Hałasa <khc@pm.waw.pl> Signed-off-by: David S. Miller <davem@davemloft.net>
2009-09-11drivers/net/wan: introduce missing kfreeJulia Lawall1-0/+1
Error handling code following a kmalloc should free the allocated data. The semantic match that finds the problem is as follows: (http://www.emn.fr/x-info/coccinelle/) // <smpl> @r exists@ local idexpression x; statement S; expression E; identifier f,f1,l; position p1,p2; expression *ptr != NULL; @@ x@p1 = \(kmalloc\|kzalloc\|kcalloc\)(...); ... if (x == NULL) S <... when != x when != if (...) { <+...x...+> } ( x->f1 = E | (x->f1 == NULL || ...) | f(...,x->f1,...) ) ...> ( return \(0\|<+...x...+>\|ptr\); | return@p2 ...; ) @script:python@ p1 << r.p1; p2 << r.p2; @@ print "* file: %s kmalloc %s return %s" % (p1[0].file,p1[0].line,p2[0].line) // </smpl> Signed-off-by: Julia Lawall <julia@diku.dk> Signed-off-by: David S. Miller <davem@davemloft.net>
2009-02-01net: replace uses of __constant_{endian}Harvey Harrison1-2/+2
Base versions handle constant folding now. Signed-off-by: Harvey Harrison <harvey.harrison@gmail.com> Signed-off-by: David S. Miller <davem@davemloft.net>
2009-01-22WAN: Convert generic HDLC drivers to netdev_ops.Krzysztof Hałasa1-2/+0
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>
2008-12-22HDLC_PPP: Fix Configure-Ack to return original options as required by the ↵Krzysztof Hałasa1-5/+6
standard. Signed-off-by: Krzysztof Hałasa <khc@pm.waw.pl>
2008-11-22WAN: new synchronous PPP implementation for generic HDLC.Krzysztof Hałasa1-47/+601
Signed-off-by: Krzysztof Hałasa <khc@pm.waw.pl>
2008-07-24WAN: cosmetic changes to generic HDLCKrzysztof Hałasa1-8/+7
Signed-off-by: Krzysztof Hałasa <khc@pm.waw.pl>
2008-05-12syncppp: Fix crashes.David S. Miller1-1/+1
The syncppp layer wants a mid-level netdev private pointer. It was using netdev->priv but that only worked by accident, and thus this scheme was broken when the device private allocation strategy changed. Add a proper mid-layer private pointer for uses like this, update syncppp and all users, and remove the HDLC_PPP broken tag from drivers/net/wan/Kconfig Signed-off-by: David S. Miller <davem@davemloft.net>
2008-02-05Generic HDLC - remove now unneeded hdlc_device_descKrzysztof Halasa1-1/+1
Removes now unneeded struct hdlc_device_desc Signed-off-by: Krzysztof Halasa <khc@pm.waw.pl> Signed-off-by: Jeff Garzik <jeff@garzik.org>
2008-01-29annotate the rest of drivers/net/wanAl Viro1-1/+1
Signed-off-by: Al Viro <viro@zeniv.linux.org.uk> Signed-off-by: Jeff Garzik <jeff@garzik.org>
2007-10-11[NET]: Move hardware header operations out of netdevice.Stephen Hemminger1-1/+1
Since hardware header operations are part of the protocol class not the device instance, make them into a separate object and save memory. Signed-off-by: Stephen Hemminger <shemminger@linux-foundation.org> Signed-off-by: David S. Miller <davem@davemloft.net>
2007-03-03[HDLC] Fix dev->header_cache_update having a random value.Krzysztof Halasa1-2/+0
Switching HDLC devices from Ethernet-framing mode caused stale ethernet function assignments within net_device. Signed-off-by: Krzysztof Halasa <khc@pm.waw.pl> Signed-off-by: David S. Miller <davem@davemloft.net>
2006-09-27[PATCH] Modularize generic HDLCKrzysztof Halasa1-16/+61
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>
2006-07-22[WAN]: Added missing netif_dormant_off() to generic HDLCKrzysztof Halasa1-0/+1
WAN: Fixed a problem with PPP/raw HDLC/X.25 protocols not doing netif_dormant_off() at startup. Signed-off-by: Krzysztof Halasa <khc@pm.waw.pl> Signed-off-by: David S. Miller <davem@davemloft.net>
2005-07-12[NET]: __be'ify *_type_trans()Alexey Dobriyan1-2/+1
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>
2005-04-17Linux-2.6.12-rc2v2.6.12-rc2Linus Torvalds1-0/+115
Initial git repository build. I'm not bothering with the full history, even though we have it. We can create a separate "historical" git archive of that later if we want to, and in the meantime it's about 3.2GB when imported into git - space that would just make the early git days unnecessarily complicated, when we don't have a lot of good infrastructure for it. Let it rip!