summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--Documentation/networking/ethertap.txt268
-rw-r--r--crypto/blowfish.c8
-rw-r--r--crypto/cipher.c121
-rw-r--r--crypto/scatterwalk.c53
-rw-r--r--crypto/scatterwalk.h22
-rw-r--r--crypto/sha256.c2
-rw-r--r--crypto/sha512.c2
-rw-r--r--crypto/tea.c4
-rw-r--r--drivers/atm/ambassador.c8
-rw-r--r--drivers/atm/ambassador.h100
-rw-r--r--drivers/atm/lanai.c1
-rw-r--r--drivers/atm/nicstar.c4
-rw-r--r--drivers/atm/nicstar.h4
-rw-r--r--drivers/atm/zatm.c2
-rw-r--r--drivers/bluetooth/hci_vhci.c7
-rw-r--r--drivers/net/Kconfig23
-rw-r--r--drivers/net/Makefile1
-rw-r--r--drivers/net/bonding/bond_main.c4
-rw-r--r--drivers/net/eql.c4
-rw-r--r--drivers/net/ethertap.c390
-rw-r--r--drivers/net/irda/act200l-sir.c2
-rw-r--r--drivers/net/irda/act200l.c9
-rw-r--r--drivers/net/irda/actisys.c5
-rw-r--r--drivers/net/irda/ali-ircc.c68
-rw-r--r--drivers/net/irda/donauboe.c20
-rw-r--r--drivers/net/irda/girbil-sir.c4
-rw-r--r--drivers/net/irda/girbil.c9
-rw-r--r--drivers/net/irda/irda-usb.c76
-rw-r--r--drivers/net/irda/irport.c65
-rw-r--r--drivers/net/irda/irtty-sir.c56
-rw-r--r--drivers/net/irda/ma600-sir.c6
-rw-r--r--drivers/net/irda/ma600.c9
-rw-r--r--drivers/net/irda/mcp2120-sir.c4
-rw-r--r--drivers/net/irda/mcp2120.c9
-rw-r--r--drivers/net/irda/nsc-ircc.c81
-rw-r--r--drivers/net/irda/sir_dev.c25
-rw-r--r--drivers/net/irda/sir_kthread.c8
-rw-r--r--drivers/net/irda/smsc-ircc2.c148
-rw-r--r--drivers/net/irda/tekram-sir.c2
-rw-r--r--drivers/net/irda/tekram.c13
-rw-r--r--drivers/net/irda/via-ircc.c42
-rw-r--r--drivers/net/irda/vlsi_ir.c100
-rw-r--r--drivers/net/irda/vlsi_ir.h2
-rw-r--r--drivers/net/irda/w83977af_ir.c28
-rw-r--r--drivers/net/netconsole.c1
-rw-r--r--drivers/net/tg3.c154
-rw-r--r--drivers/net/tg3.h4
-rw-r--r--include/linux/netdevice.h4
-rw-r--r--include/linux/netpoll.h35
-rw-r--r--include/linux/pkt_cls.h1
-rw-r--r--include/linux/rtnetlink.h1
-rw-r--r--include/net/ip_mp_alg.h8
-rw-r--r--include/net/irda/irda.h29
-rw-r--r--include/net/netrom.h9
-rw-r--r--include/net/rose.h10
-rw-r--r--net/Kconfig9
-rw-r--r--net/atm/common.c17
-rw-r--r--net/atm/lec.c88
-rw-r--r--net/atm/lec.h17
-rw-r--r--net/atm/lec_arpc.h24
-rw-r--r--net/atm/mpc.c6
-rw-r--r--net/atm/mpc.h4
-rw-r--r--net/atm/pppoatm.c2
-rw-r--r--net/atm/protocols.h2
-rw-r--r--net/atm/raw.c2
-rw-r--r--net/atm/signaling.c3
-rw-r--r--net/ax25/ax25_in.c2
-rw-r--r--net/bluetooth/l2cap.c5
-rw-r--r--net/bluetooth/rfcomm/core.c2
-rw-r--r--net/bluetooth/rfcomm/sock.c5
-rw-r--r--net/bluetooth/sco.c3
-rw-r--r--net/bridge/br.c9
-rw-r--r--net/bridge/br_private.h6
-rw-r--r--net/core/dev.c25
-rw-r--r--net/core/netpoll.c207
-rw-r--r--net/decnet/dn_nsp_in.c2
-rw-r--r--net/ipv4/ip_output.c5
-rw-r--r--net/ipv4/multipath.c5
-rw-r--r--net/ipv4/multipath_wrandom.c4
-rw-r--r--net/ipv4/route.c15
-rw-r--r--net/ipv4/tcp_input.c5
-rw-r--r--net/irda/af_irda.c72
-rw-r--r--net/irda/discovery.c10
-rw-r--r--net/irda/ircomm/ircomm_core.c48
-rw-r--r--net/irda/ircomm/ircomm_lmp.c39
-rw-r--r--net/irda/ircomm/ircomm_param.c50
-rw-r--r--net/irda/ircomm/ircomm_ttp.c42
-rw-r--r--net/irda/ircomm/ircomm_tty.c92
-rw-r--r--net/irda/ircomm/ircomm_tty_attach.c63
-rw-r--r--net/irda/ircomm/ircomm_tty_ioctl.c6
-rw-r--r--net/irda/irda_device.c36
-rw-r--r--net/irda/iriap.c109
-rw-r--r--net/irda/iriap_event.c56
-rw-r--r--net/irda/irias_object.c98
-rw-r--r--net/irda/irlan/irlan_client.c72
-rw-r--r--net/irda/irlan/irlan_client_event.c37
-rw-r--r--net/irda/irlan/irlan_common.c80
-rw-r--r--net/irda/irlan/irlan_eth.c16
-rw-r--r--net/irda/irlan/irlan_event.c8
-rw-r--r--net/irda/irlan/irlan_filter.c8
-rw-r--r--net/irda/irlan/irlan_provider.c42
-rw-r--r--net/irda/irlan/irlan_provider_event.c12
-rw-r--r--net/irda/irlap.c137
-rw-r--r--net/irda/irlap_event.c99
-rw-r--r--net/irda/irlap_frame.c79
-rw-r--r--net/irda/irlmp.c187
-rw-r--r--net/irda/irlmp_event.c88
-rw-r--r--net/irda/irlmp_frame.c38
-rw-r--r--net/irda/irqueue.c32
-rw-r--r--net/irda/irttp.c150
-rw-r--r--net/irda/parameters.c50
-rw-r--r--net/irda/qos.c48
-rw-r--r--net/irda/timer.c22
-rw-r--r--net/irda/wrapper.c8
-rw-r--r--net/netlink/Makefile1
-rw-r--r--net/netlink/af_netlink.c24
-rw-r--r--net/netlink/netlink_dev.c278
-rw-r--r--net/netrom/af_netrom.c47
-rw-r--r--net/netrom/nr_in.c8
-rw-r--r--net/netrom/nr_out.c14
-rw-r--r--net/netrom/nr_subr.c10
-rw-r--r--net/netrom/nr_timer.c18
-rw-r--r--net/rose/af_rose.c59
-rw-r--r--net/rose/rose_in.c10
-rw-r--r--net/rose/rose_out.c6
-rw-r--r--net/rose/rose_route.c3
-rw-r--r--net/rose/rose_subr.c12
-rw-r--r--net/rose/rose_timer.c14
-rw-r--r--net/sched/cls_fw.c5
-rw-r--r--net/sched/cls_route.c5
-rw-r--r--net/sched/cls_tcindex.c5
-rw-r--r--net/sched/cls_u32.c2
-rw-r--r--net/sctp/sm_statefuns.c2
-rw-r--r--net/socket.c3
-rw-r--r--net/x25/af_x25.c2
-rw-r--r--net/xfrm/xfrm_policy.c16
136 files changed, 2095 insertions, 2932 deletions
diff --git a/Documentation/networking/ethertap.txt b/Documentation/networking/ethertap.txt
deleted file mode 100644
index 337f650d7678..000000000000
--- a/Documentation/networking/ethertap.txt
+++ /dev/null
@@ -1,268 +0,0 @@
-NOTE: Ethertap is now an obsolete facility, and is scheduled
- to be removed in the 2.5.x kernel series. Those writing
- applications using ethertap should convert their code to
- use the TUN/TAP driver instead, see 'tuntap.txt' in this
- directory for more details. -DaveM
-
-Ethertap programming mini-HOWTO
--------------------------------
-
-The ethertap driver was written by Jay Schulist <jschlst@samba.org>,
-you should contact him for further information. This document was written by
-bert hubert <bert.hubert@netherlabs.nl>. Updates are welcome.
-
-What ethertap can do for you
-----------------------------
-
-Ethertap allows you to easily run your own network stack from userspace.
-Tunnels can benefit greatly from this. You can also use it to do network
-experiments. The alternative would be to use a raw socket to send data and
-use libpcap to receive it. Using ethertap saves you this multiplicity and
-also does ARP for you if you want.
-
-The more technical blurb:
-
-Ethertap provides packet reception and transmission for user space programs.
-It can be viewed as a simple Ethernet device, which instead of receiving
-packets from a network wire, it receives them from user space.
-
-Ethertap can be used for anything from AppleTalk to IPX to even building
-bridging tunnels. It also has many other general purpose uses.
-
-Configuring your kernel
------------------------
-
-Firstly, you need this in Networking Options:
-
- #
- # Code maturity level options
- #
- CONFIG_EXPERIMENTAL=y
-
-Then you need Netlink support:
-
- CONFIG_NETLINK=y
-
-This allows the kernel to exchange data with userspace applications. There
-are two ways of doing this, the new way works with netlink sockets and I
-have no experience with that yet. ANK uses it in his excellent iproute2
-package, see for example rtmon.c. iproute2 can be found on
-ftp://ftp.tux.org/pub/net/ip-routing/iproute2*
-
-The new way is described, partly in netlink(7), available on
-http://www.europe.redhat.com/documentation/man-pages/man7/netlink.7.php3
-
-There is also a Netlink-HOWTO, available on http://snafu.freedom.org/linux2.2/docs/netlink-HOWTO.html
-Sadly I know of no code using ethertap with this new interface.
-
-The older way works by opening character special files with major node 36.
-Enable this with:
-
- CONFIG_NETLINK_DEV=m
-
-Please be advised that this support is going to be dropped somewhere in the
-future!
-
-Then finally in the Network Devices section,
-
- CONFIG_ETHERTAP=m
-
-You can include it directly in the kernel if you want, of course, no need
-for modules.
-
-Setting it all up
------------------
-
-First we need to create the /dev/tap0 device node:
-
- # mknod /dev/tap0 c 36 16
- # mknod /dev/tap1 c 36 17
- (etc)
-
-Include the relevant modules (ethertap.o, netlink_dev.o, perhaps netlink.o),
-and bring up your tap0 device:
-
- # ifconfig tap0 10.0.0.123 up
-
-Now your device is up and running, you can ping it as well. This is what
-confused me to no end, because nothing is connected to our ethertap as yet,
-how is it that we can ping it?
-
-It turns out that the ethertap is just like a regular network interface -
-even when it's down you can ping it. We need to route stuff to it:
-
- # route add -host 10.0.0.124 gw 10.0.0.123
-
-Now we can read /dev/tap0 and when we ping 10.0.0.124 from our
-localhost, output should appear on the screen.
-
- # cat /dev/tap0
- :ßVU:9````````````````````````þýþET@?'
-
-
-Getting this to work from other hosts
--------------------------------------
-
-For this to work, you often need proxy ARP.
-
- # echo 1 > /proc/sys/net/ipv4/conf/eth0/proxy_arp
-
-eth0 here stands for the interface that connects to 'other hosts'.
-
-Chances are that you are trying this on a non-routing desktop computer, so
-you need to enable ip forwarding:
-
- # echo 1 > /proc/sys/net/ipv4/ip_forward
-
-You should now be able to ping 10.0.0.124 from other hosts on your
-10.0.0.0/8 subnet. If you are using public ip space, it should work from
-everywhere.
-
-ARP
----
-
-If we were to take things very literally, your tcp/ip pseudo stack would
-also have to implement ARP and MAC addresses. This is often a bit silly as
-the ethertap device is a figment of our imagination anyway. However, should
-you want to go 'all the way', you can add the 'arp' flag to ifconfig:
-
- # ifconfig tap0 10.0.0.123 up arp
-
-This may also be useful when implementing a bridge, which needs to bridge
-ARP packets as well.
-
-The sample program below will no longer work then, because it does not
-implement ARP.
-
-Sample program
---------------
-
-A sample program is included somewhere in the bowels of the netfilter
-source. I've extracted this program and list it here. It implements a very
-tiny part of the IP stack and can respond to any pings it receives. It gets
-confused if it receives ARP, as it tries to parse it by treating it as an IP
-packet.
-
-/* Simple program to listen to /dev/tap0 and reply to pings. */
-#include <fcntl.h>
-#include <netinet/ip.h>
-#include <netinet/ip_icmp.h>
-#if defined(__GLIBC__) && (__GLIBC__ == 2)
-#include <netinet/tcp.h>
-#include <netinet/udp.h>
-#else
-#include <linux/tcp.h>
-#include <linux/udp.h>
-#endif
-#include <string.h>
-#include <stdio.h>
-#include <errno.h>
-#include <unistd.h>
-
-u_int16_t csum_partial(void *buffer, unsigned int len, u_int16_t prevsum)
-{
- u_int32_t sum = 0;
- u_int16_t *ptr = buffer;
-
- while (len > 1) {
- sum += *ptr++;
- len -= 2;
- }
- if (len) {
- union {
- u_int8_t byte;
- u_int16_t wyde;
- } odd;
- odd.wyde = 0;
- odd.byte = *((u_int8_t *)ptr);
- sum += odd.wyde;
- }
- sum = (sum >> 16) + (sum & 0xFFFF);
- sum += prevsum;
- return (sum + (sum >> 16));
-}
-
-int main()
-{
- int fd, len;
- union {
- struct {
- char etherhdr[16];
- struct iphdr ip;
- } fmt;
- unsigned char raw[65536];
- } u;
-
- fd = open("/dev/tap0", O_RDWR);
- if (fd < 0) {
- perror("Opening `/dev/tap0'");
- return 1;
- }
-
- /* u.fmt.ip.ihl in host order! Film at 11. */
- while ((len = read(fd, &u, sizeof(u))) > 0) {
- u_int32_t tmp;
- struct icmphdr *icmp
- = (void *)((u_int32_t *)&u.fmt.ip + u.fmt.ip.ihl );
- struct tcphdr *tcp = (void *)icmp;
- struct udphdr *udp = (void *)icmp;
-
- fprintf(stderr, "SRC = %u.%u.%u.%u DST = %u.%u.%u.%u\n",
- (ntohl(u.fmt.ip.saddr) >> 24) & 0xFF,
- (ntohl(u.fmt.ip.saddr) >> 16) & 0xFF,
- (ntohl(u.fmt.ip.saddr) >> 8) & 0xFF,
- (ntohl(u.fmt.ip.saddr) >> 0) & 0xFF,
- (ntohl(u.fmt.ip.daddr) >> 24) & 0xFF,
- (ntohl(u.fmt.ip.daddr) >> 16) & 0xFF,
- (ntohl(u.fmt.ip.daddr) >> 8) & 0xFF,
- (ntohl(u.fmt.ip.daddr) >> 0) & 0xFF);
-
- switch (u.fmt.ip.protocol) {
- case IPPROTO_ICMP:
- if (icmp->type == ICMP_ECHO) {
- fprintf(stderr, "PONG! (iphdr = %u bytes)\n",
- (unsigned int)((char *)icmp
- - (char *)&u.fmt.ip));
-
- /* Turn it around */
- tmp = u.fmt.ip.saddr;
- u.fmt.ip.saddr = u.fmt.ip.daddr;
- u.fmt.ip.daddr = tmp;
-
- icmp->type = ICMP_ECHOREPLY;
- icmp->checksum = 0;
- icmp->checksum
- = ~csum_partial(icmp,
- ntohs(u.fmt.ip.tot_len)
- - u.fmt.ip.ihl*4, 0);
-
- {
- unsigned int i;
- for (i = 44;
- i < ntohs(u.fmt.ip.tot_len); i++){
- printf("%u:0x%02X ", i,
- ((unsigned char *)
- &u.fmt.ip)[i]);
- }
- printf("\n");
- }
- write(fd, &u, len);
- }
- break;
- case IPPROTO_TCP:
- fprintf(stderr, "TCP: %u -> %u\n", ntohs(tcp->source),
- ntohs(tcp->dest));
- break;
-
- case IPPROTO_UDP:
- fprintf(stderr, "UDP: %u -> %u\n", ntohs(udp->source),
- ntohs(udp->dest));
- break;
- }
- }
- if (len < 0)
- perror("Reading from `/dev/tap0'");
- else fprintf(stderr, "Empty read from `/dev/tap0'");
- return len < 0 ? 1 : 0;
-}
-
diff --git a/crypto/blowfish.c b/crypto/blowfish.c
index 83d575557c57..a8b29d54e7d8 100644
--- a/crypto/blowfish.c
+++ b/crypto/blowfish.c
@@ -349,8 +349,8 @@ static void encrypt_block(struct bf_ctx *bctx, u32 *dst, u32 *src)
static void bf_encrypt(void *ctx, u8 *dst, const u8 *src)
{
- const u32 *in_blk = (const u32 *)src;
- u32 *const out_blk = (u32 *)dst;
+ const __be32 *in_blk = (const __be32 *)src;
+ __be32 *const out_blk = (__be32 *)dst;
u32 in32[2], out32[2];
in32[0] = be32_to_cpu(in_blk[0]);
@@ -362,8 +362,8 @@ static void bf_encrypt(void *ctx, u8 *dst, const u8 *src)
static void bf_decrypt(void *ctx, u8 *dst, const u8 *src)
{
- const u32 *in_blk = (const u32 *)src;
- u32 *const out_blk = (u32 *)dst;
+ const __be32 *in_blk = (const __be32 *)src;
+ __be32 *const out_blk = (__be32 *)dst;
const u32 *P = ((struct bf_ctx *)ctx)->p;
const u32 *S = ((struct bf_ctx *)ctx)->s;
u32 yl = be32_to_cpu(in_blk[0]);
diff --git a/crypto/cipher.c b/crypto/cipher.c
index 6ab56eb3502c..f434ce7c2d0b 100644
--- a/crypto/cipher.c
+++ b/crypto/cipher.c
@@ -11,18 +11,20 @@
* any later version.
*
*/
+#include <linux/compiler.h>
#include <linux/kernel.h>
#include <linux/crypto.h>
#include <linux/errno.h>
#include <linux/mm.h>
#include <linux/slab.h>
+#include <linux/string.h>
#include <asm/scatterlist.h>
#include "internal.h"
#include "scatterwalk.h"
typedef void (cryptfn_t)(void *, u8 *, const u8 *);
typedef void (procfn_t)(struct crypto_tfm *, u8 *,
- u8*, cryptfn_t, int enc, void *, int);
+ u8*, cryptfn_t, void *);
static inline void xor_64(u8 *a, const u8 *b)
{
@@ -37,7 +39,47 @@ static inline void xor_128(u8 *a, const u8 *b)
((u32 *)a)[2] ^= ((u32 *)b)[2];
((u32 *)a)[3] ^= ((u32 *)b)[3];
}
+
+static inline void *prepare_src(struct scatter_walk *walk, int bsize,
+ void *tmp, int in_place)
+{
+ void *src = walk->data;
+ int n = bsize;
+
+ if (unlikely(scatterwalk_across_pages(walk, bsize))) {
+ src = tmp;
+ n = scatterwalk_copychunks(src, walk, bsize, 0);
+ }
+ scatterwalk_advance(walk, n);
+ return src;
+}
+
+static inline void *prepare_dst(struct scatter_walk *walk, int bsize,
+ void *tmp, int in_place)
+{
+ void *dst = walk->data;
+
+ if (unlikely(scatterwalk_across_pages(walk, bsize)) || in_place)
+ dst = tmp;
+ return dst;
+}
+
+static inline void complete_src(struct scatter_walk *walk, int bsize,
+ void *src, int in_place)
+{
+}
+static inline void complete_dst(struct scatter_walk *walk, int bsize,
+ void *dst, int in_place)
+{
+ int n = bsize;
+
+ if (unlikely(scatterwalk_across_pages(walk, bsize)))
+ n = scatterwalk_copychunks(dst, walk, bsize, 1);
+ else if (in_place)
+ memcpy(walk->data, dst, bsize);
+ scatterwalk_advance(walk, n);
+}
/*
* Generic encrypt/decrypt wrapper for ciphers, handles operations across
@@ -48,7 +90,7 @@ static int crypt(struct crypto_tfm *tfm,
struct scatterlist *dst,
struct scatterlist *src,
unsigned int nbytes, cryptfn_t crfn,
- procfn_t prfn, int enc, void *info)
+ procfn_t prfn, void *info)
{
struct scatter_walk walk_in, walk_out;
const unsigned int bsize = crypto_tfm_alg_blocksize(tfm);
@@ -72,20 +114,26 @@ static int crypt(struct crypto_tfm *tfm,
scatterwalk_map(&walk_in, 0);
scatterwalk_map(&walk_out, 1);
- src_p = scatterwalk_whichbuf(&walk_in, bsize, tmp_src);
- dst_p = scatterwalk_whichbuf(&walk_out, bsize, tmp_dst);
- in_place = scatterwalk_samebuf(&walk_in, &walk_out,
- src_p, dst_p);
- nbytes -= bsize;
+ in_place = scatterwalk_samebuf(&walk_in, &walk_out);
- scatterwalk_copychunks(src_p, &walk_in, bsize, 0);
+ do {
+ src_p = prepare_src(&walk_in, bsize, tmp_src,
+ in_place);
+ dst_p = prepare_dst(&walk_out, bsize, tmp_dst,
+ in_place);
- prfn(tfm, dst_p, src_p, crfn, enc, info, in_place);
+ prfn(tfm, dst_p, src_p, crfn, info);
- scatterwalk_done(&walk_in, 0, nbytes);
+ complete_src(&walk_in, bsize, src_p, in_place);
+ complete_dst(&walk_out, bsize, dst_p, in_place);
+
+ nbytes -= bsize;
+ } while (nbytes &&
+ !scatterwalk_across_pages(&walk_in, bsize) &&
+ !scatterwalk_across_pages(&walk_out, bsize));
- scatterwalk_copychunks(dst_p, &walk_out, bsize, 1);
+ scatterwalk_done(&walk_in, 0, nbytes);
scatterwalk_done(&walk_out, 1, nbytes);
if (!nbytes)
@@ -95,33 +143,28 @@ static int crypt(struct crypto_tfm *tfm,
}
}
-static void cbc_process(struct crypto_tfm *tfm, u8 *dst, u8 *src,
- cryptfn_t fn, int enc, void *info, int in_place)
+static void cbc_process_encrypt(struct crypto_tfm *tfm, u8 *dst, u8 *src,
+ cryptfn_t fn, void *info)
{
u8 *iv = info;
-
- /* Null encryption */
- if (!iv)
- return;
-
- if (enc) {
- tfm->crt_u.cipher.cit_xor_block(iv, src);
- fn(crypto_tfm_ctx(tfm), dst, iv);
- memcpy(iv, dst, crypto_tfm_alg_blocksize(tfm));
- } else {
- u8 stack[in_place ? crypto_tfm_alg_blocksize(tfm) : 0];
- u8 *buf = in_place ? stack : dst;
-
- fn(crypto_tfm_ctx(tfm), buf, src);
- tfm->crt_u.cipher.cit_xor_block(buf, iv);
- memcpy(iv, src, crypto_tfm_alg_blocksize(tfm));
- if (buf != dst)
- memcpy(dst, buf, crypto_tfm_alg_blocksize(tfm));
- }
+
+ tfm->crt_u.cipher.cit_xor_block(iv, src);
+ fn(crypto_tfm_ctx(tfm), dst, iv);
+ memcpy(iv, dst, crypto_tfm_alg_blocksize(tfm));
+}
+
+static void cbc_process_decrypt(struct crypto_tfm *tfm, u8 *dst, u8 *src,
+ cryptfn_t fn, void *info)
+{
+ u8 *iv = info;
+
+ fn(crypto_tfm_ctx(tfm), dst, src);
+ tfm->crt_u.cipher.cit_xor_block(dst, iv);
+ memcpy(iv, src, crypto_tfm_alg_blocksize(tfm));
}
static void ecb_process(struct crypto_tfm *tfm, u8 *dst, u8 *src,
- cryptfn_t fn, int enc, void *info, int in_place)
+ cryptfn_t fn, void *info)
{
fn(crypto_tfm_ctx(tfm), dst, src);
}
@@ -144,7 +187,7 @@ static int ecb_encrypt(struct crypto_tfm *tfm,
{
return crypt(tfm, dst, src, nbytes,
tfm->__crt_alg->cra_cipher.cia_encrypt,
- ecb_process, 1, NULL);
+ ecb_process, NULL);
}
static int ecb_decrypt(struct crypto_tfm *tfm,
@@ -154,7 +197,7 @@ static int ecb_decrypt(struct crypto_tfm *tfm,
{
return crypt(tfm, dst, src, nbytes,
tfm->__crt_alg->cra_cipher.cia_decrypt,
- ecb_process, 1, NULL);
+ ecb_process, NULL);
}
static int cbc_encrypt(struct crypto_tfm *tfm,
@@ -164,7 +207,7 @@ static int cbc_encrypt(struct crypto_tfm *tfm,
{
return crypt(tfm, dst, src, nbytes,
tfm->__crt_alg->cra_cipher.cia_encrypt,
- cbc_process, 1, tfm->crt_cipher.cit_iv);
+ cbc_process_encrypt, tfm->crt_cipher.cit_iv);
}
static int cbc_encrypt_iv(struct crypto_tfm *tfm,
@@ -174,7 +217,7 @@ static int cbc_encrypt_iv(struct crypto_tfm *tfm,
{
return crypt(tfm, dst, src, nbytes,
tfm->__crt_alg->cra_cipher.cia_encrypt,
- cbc_process, 1, iv);
+ cbc_process_encrypt, iv);
}
static int cbc_decrypt(struct crypto_tfm *tfm,
@@ -184,7 +227,7 @@ static int cbc_decrypt(struct crypto_tfm *tfm,
{
return crypt(tfm, dst, src, nbytes,
tfm->__crt_alg->cra_cipher.cia_decrypt,
- cbc_process, 0, tfm->crt_cipher.cit_iv);
+ cbc_process_decrypt, tfm->crt_cipher.cit_iv);
}
static int cbc_decrypt_iv(struct crypto_tfm *tfm,
@@ -194,7 +237,7 @@ static int cbc_decrypt_iv(struct crypto_tfm *tfm,
{
return crypt(tfm, dst, src, nbytes,
tfm->__crt_alg->cra_cipher.cia_decrypt,
- cbc_process, 0, iv);
+ cbc_process_decrypt, iv);
}
static int nocrypt(struct crypto_tfm *tfm,
diff --git a/crypto/scatterwalk.c b/crypto/scatterwalk.c
index f6a5c9e5b2e0..50c9461e8cc6 100644
--- a/crypto/scatterwalk.c
+++ b/crypto/scatterwalk.c
@@ -17,6 +17,7 @@
#include <linux/mm.h>
#include <linux/pagemap.h>
#include <linux/highmem.h>
+#include <asm/bug.h>
#include <asm/scatterlist.h>
#include "internal.h"
#include "scatterwalk.h"
@@ -28,16 +29,6 @@ enum km_type crypto_km_types[] = {
KM_SOFTIRQ1,
};
-void *scatterwalk_whichbuf(struct scatter_walk *walk, unsigned int nbytes, void *scratch)
-{
- if (nbytes <= walk->len_this_page &&
- (((unsigned long)walk->data) & (PAGE_CACHE_SIZE - 1)) + nbytes <=
- PAGE_CACHE_SIZE)
- return walk->data;
- else
- return scratch;
-}
-
static void memcpy_dir(void *buf, void *sgdata, size_t nbytes, int out)
{
if (out)
@@ -55,6 +46,8 @@ void scatterwalk_start(struct scatter_walk *walk, struct scatterlist *sg)
walk->page = sg->page;
walk->len_this_segment = sg->length;
+ BUG_ON(!sg->length);
+
rest_of_page = PAGE_CACHE_SIZE - (sg->offset & (PAGE_CACHE_SIZE - 1));
walk->len_this_page = min(sg->length, rest_of_page);
walk->offset = sg->offset;
@@ -65,13 +58,17 @@ void scatterwalk_map(struct scatter_walk *walk, int out)
walk->data = crypto_kmap(walk->page, out) + walk->offset;
}
-static void scatterwalk_pagedone(struct scatter_walk *walk, int out,
- unsigned int more)
+static inline void scatterwalk_unmap(struct scatter_walk *walk, int out)
{
/* walk->data may be pointing the first byte of the next page;
however, we know we transfered at least one byte. So,
walk->data - 1 will be a virtual address in the mapped page. */
+ crypto_kunmap(walk->data - 1, out);
+}
+static void scatterwalk_pagedone(struct scatter_walk *walk, int out,
+ unsigned int more)
+{
if (out)
flush_dcache_page(walk->page);
@@ -91,7 +88,7 @@ static void scatterwalk_pagedone(struct scatter_walk *walk, int out,
void scatterwalk_done(struct scatter_walk *walk, int out, int more)
{
- crypto_kunmap(walk->data, out);
+ scatterwalk_unmap(walk, out);
if (walk->len_this_page == 0 || !more)
scatterwalk_pagedone(walk, out, more);
}
@@ -103,22 +100,16 @@ void scatterwalk_done(struct scatter_walk *walk, int out, int more)
int scatterwalk_copychunks(void *buf, struct scatter_walk *walk,
size_t nbytes, int out)
{
- if (buf != walk->data) {
- while (nbytes > walk->len_this_page) {
- memcpy_dir(buf, walk->data, walk->len_this_page, out);
- buf += walk->len_this_page;
- nbytes -= walk->len_this_page;
-
- crypto_kunmap(walk->data, out);
- scatterwalk_pagedone(walk, out, 1);
- scatterwalk_map(walk, out);
- }
-
- memcpy_dir(buf, walk->data, nbytes, out);
- }
-
- walk->offset += nbytes;
- walk->len_this_page -= nbytes;
- walk->len_this_segment -= nbytes;
- return 0;
+ do {
+ memcpy_dir(buf, walk->data, walk->len_this_page, out);
+ buf += walk->len_this_page;
+ nbytes -= walk->len_this_page;
+
+ scatterwalk_unmap(walk, out);
+ scatterwalk_pagedone(walk, out, 1);
+ scatterwalk_map(walk, out);
+ } while (nbytes > walk->len_this_page);
+
+ memcpy_dir(buf, walk->data, nbytes, out);
+ return nbytes;
}
diff --git a/crypto/scatterwalk.h b/crypto/scatterwalk.h
index b16446519017..02aa56c649b4 100644
--- a/crypto/scatterwalk.h
+++ b/crypto/scatterwalk.h
@@ -34,15 +34,27 @@ static inline struct scatterlist *sg_next(struct scatterlist *sg)
}
static inline int scatterwalk_samebuf(struct scatter_walk *walk_in,
- struct scatter_walk *walk_out,
- void *src_p, void *dst_p)
+ struct scatter_walk *walk_out)
{
return walk_in->page == walk_out->page &&
- walk_in->offset == walk_out->offset &&
- walk_in->data == src_p && walk_out->data == dst_p;
+ walk_in->offset == walk_out->offset;
+}
+
+static inline int scatterwalk_across_pages(struct scatter_walk *walk,
+ unsigned int nbytes)
+{
+ return nbytes > walk->len_this_page;
+}
+
+static inline void scatterwalk_advance(struct scatter_walk *walk,
+ unsigned int nbytes)
+{
+ walk->data += nbytes;
+ walk->offset += nbytes;
+ walk->len_this_page -= nbytes;
+ walk->len_this_segment -= nbytes;
}
-void *scatterwalk_whichbuf(struct scatter_walk *walk, unsigned int nbytes, void *scratch);
void scatterwalk_start(struct scatter_walk *walk, struct scatterlist *sg);
int scatterwalk_copychunks(void *buf, struct scatter_walk *walk, size_t nbytes, int out);
void scatterwalk_map(struct scatter_walk *walk, int out);
diff --git a/crypto/sha256.c b/crypto/sha256.c
index b8c78ebb2fe3..c78da50a9b7a 100644
--- a/crypto/sha256.c
+++ b/crypto/sha256.c
@@ -58,7 +58,7 @@ static inline u32 Maj(u32 x, u32 y, u32 z)
static inline void LOAD_OP(int I, u32 *W, const u8 *input)
{
- W[I] = __be32_to_cpu( ((u32*)(input))[I] );
+ W[I] = __be32_to_cpu( ((__be32*)(input))[I] );
}
static inline void BLEND_OP(int I, u32 *W)
diff --git a/crypto/sha512.c b/crypto/sha512.c
index 2403bb94675a..c663438322e9 100644
--- a/crypto/sha512.c
+++ b/crypto/sha512.c
@@ -105,7 +105,7 @@ static const u64 sha512_K[80] = {
static inline void LOAD_OP(int I, u64 *W, const u8 *input)
{
- W[I] = __be64_to_cpu( ((u64*)(input))[I] );
+ W[I] = __be64_to_cpu( ((__be64*)(input))[I] );
}
static inline void BLEND_OP(int I, u64 *W)
diff --git a/crypto/tea.c b/crypto/tea.c
index 588a143c1f08..03c23cbd3afa 100644
--- a/crypto/tea.c
+++ b/crypto/tea.c
@@ -31,8 +31,8 @@
#define XTEA_ROUNDS 32
#define XTEA_DELTA 0x9e3779b9
-#define u32_in(x) le32_to_cpu(*(const u32 *)(x))
-#define u32_out(to, from) (*(u32 *)(to) = cpu_to_le32(from))
+#define u32_in(x) le32_to_cpu(*(const __le32 *)(x))
+#define u32_out(to, from) (*(__le32 *)(to) = cpu_to_le32(from))
struct tea_ctx {
u32 KEY[4];
diff --git a/drivers/atm/ambassador.c b/drivers/atm/ambassador.c
index bbeadf42398b..c46d9520c5a7 100644
--- a/drivers/atm/ambassador.c
+++ b/drivers/atm/ambassador.c
@@ -345,7 +345,7 @@ static inline u32 rd_plain (const amb_dev * dev, size_t addr) {
}
static inline void wr_mem (const amb_dev * dev, size_t addr, u32 data) {
- u32 be = cpu_to_be32 (data);
+ __be32 be = cpu_to_be32 (data);
PRINTD (DBG_FLOW|DBG_REGS, "wr: %08zx <- %08x b[%08x]", addr, data, be);
#ifdef AMB_MMIO
dev->membase[addr / sizeof(u32)] = be;
@@ -356,9 +356,9 @@ static inline void wr_mem (const amb_dev * dev, size_t addr, u32 data) {
static inline u32 rd_mem (const amb_dev * dev, size_t addr) {
#ifdef AMB_MMIO
- u32 be = dev->membase[addr / sizeof(u32)];
+ __be32 be = dev->membase[addr / sizeof(u32)];
#else
- u32 be = inl (dev->iobase + addr);
+ __be32 be = inl (dev->iobase + addr);
#endif
u32 data = be32_to_cpu (be);
PRINTD (DBG_FLOW|DBG_REGS, "rd: %08zx -> %08x b[%08x]", addr, data, be);
@@ -2007,7 +2007,7 @@ static int __devinit ucode_init (loader_block * lb, amb_dev * dev) {
/********** give adapter parameters **********/
-static inline u32 bus_addr(void * addr) {
+static inline __be32 bus_addr(void * addr) {
return cpu_to_be32 (virt_to_bus (addr));
}
diff --git a/drivers/atm/ambassador.h b/drivers/atm/ambassador.h
index 3892dcf9dc2e..84a93063cfe1 100644
--- a/drivers/atm/ambassador.h
+++ b/drivers/atm/ambassador.h
@@ -342,21 +342,21 @@ typedef struct {
#define MAX_TRANSFER_DATA 11
typedef struct {
- u32 address;
- u32 count;
- u32 data[MAX_TRANSFER_DATA];
+ __be32 address;
+ __be32 count;
+ __be32 data[MAX_TRANSFER_DATA];
} transfer_block;
typedef struct {
- u32 result;
- u32 command;
+ __be32 result;
+ __be32 command;
union {
transfer_block transfer;
- u32 version;
- u32 start;
- u32 data[MAX_COMMAND_DATA];
+ __be32 version;
+ __be32 start;
+ __be32 data[MAX_COMMAND_DATA];
} payload;
- u32 valid;
+ __be32 valid;
} loader_block;
/* command queue */
@@ -366,46 +366,46 @@ typedef struct {
typedef struct {
union {
struct {
- u32 vc;
- u32 flags;
- u32 rate;
+ __be32 vc;
+ __be32 flags;
+ __be32 rate;
} open;
struct {
- u32 vc;
- u32 rate;
+ __be32 vc;
+ __be32 rate;
} modify_rate;
struct {
- u32 vc;
- u32 flags;
+ __be32 vc;
+ __be32 flags;
} modify_flags;
struct {
- u32 vc;
+ __be32 vc;
} close;
struct {
- u32 lower4;
- u32 upper2;
+ __be32 lower4;
+ __be32 upper2;
} bia;
struct {
- u32 address;
+ __be32 address;
} suni;
struct {
- u32 major;
- u32 minor;
+ __be32 major;
+ __be32 minor;
} version;
struct {
- u32 read;
- u32 write;
+ __be32 read;
+ __be32 write;
} speed;
struct {
- u32 flags;
+ __be32 flags;
} flush;
struct {
- u32 address;
- u32 data;
+ __be32 address;
+ __be32 data;
} memory;
- u32 par[3];
+ __be32 par[3];
} args;
- u32 request;
+ __be32 request;
} command;
/* transmit queues and associated structures */
@@ -417,8 +417,8 @@ typedef struct {
/* TX is described by 1+ tx_frags followed by a tx_frag_end */
typedef struct {
- u32 bytes;
- u32 address;
+ __be32 bytes;
+ __be32 address;
} tx_frag;
/* apart from handle the fields here are for the adapter to play with
@@ -452,9 +452,9 @@ typedef union {
/* this "points" to the sequence of fragments and trailer */
typedef struct {
- u16 vc;
- u16 tx_descr_length;
- u32 tx_descr_addr;
+ __be16 vc;
+ __be16 tx_descr_length;
+ __be32 tx_descr_addr;
} tx_in;
/* handle is the handle from tx_in */
@@ -471,17 +471,17 @@ typedef struct {
typedef struct {
u32 handle;
- u16 vc;
- u16 lec_id; // unused
- u16 status;
- u16 length;
+ __be16 vc;
+ __be16 lec_id; // unused
+ __be16 status;
+ __be16 length;
} rx_out;
/* buffer supply structure */
typedef struct {
u32 handle;
- u32 host_address;
+ __be32 host_address;
} rx_in;
/* This first structure is the area in host memory where the adapter
@@ -495,22 +495,22 @@ typedef struct {
adapter. */
typedef struct {
- u32 command_start; /* SRB commands completions */
- u32 command_end; /* SRB commands completions */
- u32 tx_start;
- u32 tx_end;
- u32 txcom_start; /* tx completions */
- u32 txcom_end; /* tx completions */
+ __be32 command_start; /* SRB commands completions */
+ __be32 command_end; /* SRB commands completions */
+ __be32 tx_start;
+ __be32 tx_end;
+ __be32 txcom_start; /* tx completions */
+ __be32 txcom_end; /* tx completions */
struct {
- u32 buffer_start;
- u32 buffer_end;
+ __be32 buffer_start;
+ __be32 buffer_end;
u32 buffer_q_get;
u32 buffer_q_end;
u32 buffer_aptr;
- u32 rx_start; /* rx completions */
- u32 rx_end;
+ __be32 rx_start; /* rx completions */
+ __be32 rx_end;
u32 rx_ptr;
- u32 buffer_size; /* size of host buffer */
+ __be32 buffer_size; /* size of host buffer */
} rec_struct[NUM_RX_POOLS];
#ifdef AMB_NEW_MICROCODE
u16 init_flags;
diff --git a/drivers/atm/lanai.c b/drivers/atm/lanai.c
index 1586c870447d..1aecc509ab5c 100644
--- a/drivers/atm/lanai.c
+++ b/drivers/atm/lanai.c
@@ -61,6 +61,7 @@
#include <asm/byteorder.h>
#include <linux/spinlock.h>
#include <linux/pci.h>
+#include <linux/dma-mapping.h>
#include <linux/init.h>
#include <linux/delay.h>
#include <linux/interrupt.h>
diff --git a/drivers/atm/nicstar.c b/drivers/atm/nicstar.c
index d0e7a8147f67..85bf5c8442b0 100644
--- a/drivers/atm/nicstar.c
+++ b/drivers/atm/nicstar.c
@@ -350,7 +350,7 @@ static void __devexit nicstar_remove_one(struct pci_dev *pcidev)
kfree(card->rsq.org);
kfree(card->tsq.org);
free_irq(card->pcidev->irq, card);
- iounmap((void *) card->membase);
+ iounmap(card->membase);
kfree(card);
}
@@ -976,7 +976,7 @@ static void __devinit ns_init_card_error(ns_dev *card, int error)
}
if (error >= 4)
{
- iounmap((void *) card->membase);
+ iounmap(card->membase);
}
if (error >= 3)
{
diff --git a/drivers/atm/nicstar.h b/drivers/atm/nicstar.h
index a7eaee736ef8..ea83c46c8ba5 100644
--- a/drivers/atm/nicstar.h
+++ b/drivers/atm/nicstar.h
@@ -739,8 +739,8 @@ typedef struct skb_pool
typedef struct vc_map
{
- volatile int tx:1; /* TX vc? */
- volatile int rx:1; /* RX vc? */
+ volatile unsigned int tx:1; /* TX vc? */
+ volatile unsigned int rx:1; /* RX vc? */
struct atm_vcc *tx_vcc, *rx_vcc;
struct sk_buff *rx_iov; /* RX iovector skb */
scq_info *scq; /* To keep track of the SCQ */
diff --git a/drivers/atm/zatm.c b/drivers/atm/zatm.c
index f8760f780fc6..47a800519ad0 100644
--- a/drivers/atm/zatm.c
+++ b/drivers/atm/zatm.c
@@ -411,7 +411,7 @@ printk("[-3..0] 0x%08lx 0x%08lx 0x%08lx 0x%08lx\n",((unsigned *) skb->data)[-3],
#if 0
printk("dummy: 0x%08lx, 0x%08lx\n",dummy[0],dummy[1]);
#endif
- size = error ? 0 : ntohs(((u16 *) skb->data)[cells*
+ size = error ? 0 : ntohs(((__be16 *) skb->data)[cells*
ATM_CELL_PAYLOAD/sizeof(u16)-3]);
EVENT("got skb 0x%lx, size %d\n",(unsigned long) skb,size);
chan = (here[3] & uPD98401_AAL5_CHAN) >>
diff --git a/drivers/bluetooth/hci_vhci.c b/drivers/bluetooth/hci_vhci.c
index 49a80c925123..3256192dcde8 100644
--- a/drivers/bluetooth/hci_vhci.c
+++ b/drivers/bluetooth/hci_vhci.c
@@ -308,12 +308,13 @@ static int hci_vhci_chr_open(struct inode *inode, struct file * file)
static int hci_vhci_chr_close(struct inode *inode, struct file *file)
{
struct hci_vhci_struct *hci_vhci = (struct hci_vhci_struct *) file->private_data;
+ struct hci_dev *hdev = hci_vhci->hdev;
- if (hci_unregister_dev(hci_vhci->hdev) < 0) {
- BT_ERR("Can't unregister HCI device %s", hci_vhci->hdev->name);
+ if (hci_unregister_dev(hdev) < 0) {
+ BT_ERR("Can't unregister HCI device %s", hdev->name);
}
- hci_free_dev(hci_vhci->hdev);
+ hci_free_dev(hdev);
file->private_data = NULL;
return 0;
diff --git a/drivers/net/Kconfig b/drivers/net/Kconfig
index 3d95ed85a664..c2a0ea8b4386 100644
--- a/drivers/net/Kconfig
+++ b/drivers/net/Kconfig
@@ -102,29 +102,6 @@ config TUN
If you don't know what to use this for, you don't need it.
-config ETHERTAP
- tristate "Ethertap network tap"
- depends on NETDEVICES && EXPERIMENTAL && NETLINK_DEV
- ---help---
- If you say Y here (and have said Y to "Kernel/User network link
- driver", above) and create a character special file /dev/tap0 with
- major number 36 and minor number 16 using mknod ("man mknod"), you
- will be able to have a user space program read and write raw
- Ethernet frames from/to that special file. tap0 can be configured
- with ifconfig and route like any other Ethernet device but it is not
- connected to any physical LAN; everything written by the user to
- /dev/tap0 is treated by the kernel as if it had come in from a LAN
- to the device tap0; everything the kernel wants to send out over the
- device tap0 can instead be read by the user from /dev/tap0: the user
- mode program replaces the LAN that would be attached to an ordinary
- Ethernet device. Please read the file
- <file:Documentation/networking/ethertap.txt> for more information.
-
- To compile this driver as a module, choose M here: the module
- will be called ethertap.
-
- If you don't know what to use this for, you don't need it.
-
config NET_SB1000
tristate "General Instruments Surfboard 1000"
depends on NETDEVICES && PNP
diff --git a/drivers/net/Makefile b/drivers/net/Makefile
index 997c62008d71..6202b10dbb4d 100644
--- a/drivers/net/Makefile
+++ b/drivers/net/Makefile
@@ -68,7 +68,6 @@ obj-$(CONFIG_SUNDANCE) += sundance.o
obj-$(CONFIG_HAMACHI) += hamachi.o
obj-$(CONFIG_NET) += Space.o loopback.o
obj-$(CONFIG_SEEQ8005) += seeq8005.o
-obj-$(CONFIG_ETHERTAP) += ethertap.o
obj-$(CONFIG_NET_SB1000) += sb1000.o
obj-$(CONFIG_MAC8390) += mac8390.o 8390.o
obj-$(CONFIG_APNE) += apne.o 8390.o
diff --git a/drivers/net/bonding/bond_main.c b/drivers/net/bonding/bond_main.c
index 160fbfa214d4..96a870866ace 100644
--- a/drivers/net/bonding/bond_main.c
+++ b/drivers/net/bonding/bond_main.c
@@ -4297,6 +4297,10 @@ static int __init bond_init(struct net_device *bond_dev, struct bond_params *par
*/
bond_dev->features |= NETIF_F_VLAN_CHALLENGED;
+ /* don't acquire bond device's xmit_lock when
+ * transmitting */
+ bond_dev->features |= NETIF_F_LLTX;
+
/* By default, we declare the bond to be fully
* VLAN hardware accelerated capable. Special
* care is taken in the various xmit functions
diff --git a/drivers/net/eql.c b/drivers/net/eql.c
index fd66d2722ada..dd6865820372 100644
--- a/drivers/net/eql.c
+++ b/drivers/net/eql.c
@@ -499,8 +499,6 @@ static int eql_g_slave_cfg(struct net_device *dev, slave_config_t __user *scp)
return -ENODEV;
ret = -EINVAL;
- if (!slave_dev)
- return ret;
spin_lock_bh(&eql->queue.lock);
if (eql_is_slave(slave_dev)) {
@@ -536,8 +534,6 @@ static int eql_s_slave_cfg(struct net_device *dev, slave_config_t __user *scp)
return -ENODEV;
ret = -EINVAL;
- if (!slave_dev)
- return ret;
eql = netdev_priv(dev);
spin_lock_bh(&eql->queue.lock);
diff --git a/drivers/net/ethertap.c b/drivers/net/ethertap.c
deleted file mode 100644
index 34430ad63b6a..000000000000
--- a/drivers/net/ethertap.c
+++ /dev/null
@@ -1,390 +0,0 @@
-/*
- * Ethertap: A network device for bouncing packets via user space
- *
- * This is a very simple ethernet driver. It bounces ethernet frames
- * to user space on /dev/tap0->/dev/tap15 and expects ethernet frames
- * to be written back to it. By default it does not ARP. If you turn ARP
- * on it will attempt to ARP the user space and reply to ARPS from the
- * user space.
- *
- * As this is an ethernet device you can use it for appletalk, IPX etc
- * even for building bridging tunnels.
- */
-
-#include <linux/config.h>
-#include <linux/module.h>
-#include <linux/moduleparam.h>
-#include <linux/kernel.h>
-#include <linux/jiffies.h>
-#include <linux/slab.h>
-#include <linux/string.h>
-#include <linux/errno.h>
-
-#include <linux/netdevice.h>
-#include <linux/inetdevice.h>
-#include <linux/etherdevice.h>
-#include <linux/skbuff.h>
-#include <linux/init.h>
-
-#include <net/sock.h>
-#include <linux/netlink.h>
-
-/*
- * Index to functions.
- */
-
-static int ethertap_open(struct net_device *dev);
-static int ethertap_start_xmit(struct sk_buff *skb, struct net_device *dev);
-static int ethertap_close(struct net_device *dev);
-static struct net_device_stats *ethertap_get_stats(struct net_device *dev);
-static void ethertap_rx(struct sock *sk, int len);
-#ifdef CONFIG_ETHERTAP_MC
-static void set_multicast_list(struct net_device *dev);
-#endif
-
-static int ethertap_debug;
-
-static int max_taps = 1;
-module_param(max_taps, int, 0);
-MODULE_PARM_DESC(max_taps,"Max number of ethernet tap devices");
-
-static struct net_device **tap_map; /* Returns the tap device for a given netlink */
-
-/*
- * Board-specific info in dev->priv.
- */
-
-struct net_local
-{
- struct sock *nl;
-#ifdef CONFIG_ETHERTAP_MC
- __u32 groups;
-#endif
- struct net_device_stats stats;
-};
-
-/*
- * To call this a probe is a bit misleading, however for real
- * hardware it would have to check what was present.
- */
-static int __init ethertap_probe(int unit)
-{
- struct net_device *dev;
- int err = -ENOMEM;
-
- dev = alloc_etherdev(sizeof(struct net_local));
-
- if (!dev)
- goto out;
-
- SET_MODULE_OWNER(dev);
-
- sprintf(dev->name, "tap%d", unit);
- dev->base_addr = unit + NETLINK_TAPBASE;
-
- netdev_boot_setup_check(dev);
-
- memcpy(dev->dev_addr, "\xFE\xFD\x00\x00\x00\x00", 6);
- if (dev->mem_start & 0xf)
- ethertap_debug = dev->mem_start & 0x7;
-
- /*
- * The tap specific entries in the device structure.
- */
-
- dev->open = ethertap_open;
- dev->hard_start_xmit = ethertap_start_xmit;
- dev->stop = ethertap_close;
- dev->get_stats = ethertap_get_stats;
-#ifdef CONFIG_ETHERTAP_MC
- dev->set_multicast_list = set_multicast_list;
-#endif
-
- dev->tx_queue_len = 0;
- dev->flags|=IFF_NOARP;
-
- err = register_netdev(dev);
- if (err)
- goto out_free;
-
- tap_map[unit]=dev;
- return 0;
-out_free:
- free_netdev(dev);
-out:
- return err;
-}
-
-/*
- * Open/initialize the board.
- */
-
-static int ethertap_open(struct net_device *dev)
-{
- struct net_local *lp = netdev_priv(dev);
-
- if (ethertap_debug > 2)
- printk(KERN_DEBUG "%s: Doing ethertap_open()...\n", dev->name);
-
- lp->nl = netlink_kernel_create(dev->base_addr, ethertap_rx);
- if (lp->nl == NULL)
- return -ENOBUFS;
-
- netif_start_queue(dev);
- return 0;
-}
-
-#ifdef CONFIG_ETHERTAP_MC
-static unsigned ethertap_mc_hash(__u8 *dest)
-{
- unsigned idx = 0;
- idx ^= dest[0];
- idx ^= dest[1];
- idx ^= dest[2];
- idx ^= dest[3];
- idx ^= dest[4];
- idx ^= dest[5];
- return 1U << (idx&0x1F);
-}
-
-static void set_multicast_list(struct net_device *dev)
-{
- unsigned groups = ~0;
- struct net_local *lp = netdev_priv(dev);
-
- if (!(dev->flags&(IFF_NOARP|IFF_PROMISC|IFF_ALLMULTI))) {
- struct dev_mc_list *dmi;
-
- groups = ethertap_mc_hash(dev->broadcast);
-
- for (dmi=dev->mc_list; dmi; dmi=dmi->next) {
- if (dmi->dmi_addrlen != 6)
- continue;
- groups |= ethertap_mc_hash(dmi->dmi_addr);
- }
- }
- lp->groups = groups;
- if (lp->nl)
- lp->nl->protinfo.af_netlink.groups = groups;
-}
-#endif
-
-/*
- * We transmit by throwing the packet at netlink. We have to clone
- * it for 2.0 so that we dev_kfree_skb() the locked original.
- */
-
-static int ethertap_start_xmit(struct sk_buff *skb, struct net_device *dev)
-{
- struct net_local *lp = netdev_priv(dev);
-#ifdef CONFIG_ETHERTAP_MC
- struct ethhdr *eth = (struct ethhdr*)skb->data;
-#endif
-
- if (skb_headroom(skb) < 2) {
- static int once;
- struct sk_buff *skb2;
-
- if (!once) {
- once = 1;
- printk(KERN_DEBUG "%s: not aligned xmit by protocol %04x\n", dev->name, skb->protocol);
- }
-
- skb2 = skb_realloc_headroom(skb, 2);
- dev_kfree_skb(skb);
- if (skb2 == NULL)
- return 0;
- skb = skb2;
- }
- __skb_push(skb, 2);
-
- /* Make the same thing, which loopback does. */
- if (skb_shared(skb)) {
- struct sk_buff *skb2 = skb;
- skb = skb_clone(skb, GFP_ATOMIC); /* Clone the buffer */
- if (skb==NULL) {
- dev_kfree_skb(skb2);
- return 0;
- }
- dev_kfree_skb(skb2);
- }
- /* ... but do not orphan it here, netlink does it in any case. */
-
- lp->stats.tx_bytes+=skb->len;
- lp->stats.tx_packets++;
-
-#ifndef CONFIG_ETHERTAP_MC
- netlink_broadcast(lp->nl, skb, 0, ~0, GFP_ATOMIC);
-#else
- if (dev->flags&IFF_NOARP) {
- netlink_broadcast(lp->nl, skb, 0, ~0, GFP_ATOMIC);
- return 0;
- }
-
- if (!(eth->h_dest[0]&1)) {
- /* Unicast packet */
- __u32 pid;
- memcpy(&pid, eth->h_dest+2, 4);
- netlink_unicast(lp->nl, skb, ntohl(pid), MSG_DONTWAIT);
- } else
- netlink_broadcast(lp->nl, skb, 0, ethertap_mc_hash(eth->h_dest), GFP_ATOMIC);
-#endif
- return 0;
-}
-
-static __inline__ int ethertap_rx_skb(struct sk_buff *skb, struct net_device *dev)
-{
- struct net_local *lp = netdev_priv(dev);
-#ifdef CONFIG_ETHERTAP_MC
- struct ethhdr *eth = (struct ethhdr*)(skb->data + 2);
-#endif
- int len = skb->len;
-
- if (len < 16) {
- printk(KERN_DEBUG "%s : rx len = %d\n", dev->name, len);
- kfree_skb(skb);
- return -EINVAL;
- }
- if (NETLINK_CREDS(skb)->uid) {
- printk(KERN_INFO "%s : user %d\n", dev->name, NETLINK_CREDS(skb)->uid);
- kfree_skb(skb);
- return -EPERM;
- }
-
-#ifdef CONFIG_ETHERTAP_MC
- if (!(dev->flags&(IFF_NOARP|IFF_PROMISC))) {
- int drop = 0;
-
- if (eth->h_dest[0]&1) {
- if (!(ethertap_mc_hash(eth->h_dest)&lp->groups))
- drop = 1;
- } else if (memcmp(eth->h_dest, dev->dev_addr, 6) != 0)
- drop = 1;
-
- if (drop) {
- if (ethertap_debug > 3)
- printk(KERN_DEBUG "%s : not for us\n", dev->name);
- kfree_skb(skb);
- return -EINVAL;
- }
- }
-#endif
-
- if (skb_shared(skb)) {
- struct sk_buff *skb2 = skb;
- skb = skb_clone(skb, GFP_KERNEL); /* Clone the buffer */
- if (skb==NULL) {
- kfree_skb(skb2);
- return -ENOBUFS;
- }
- kfree_skb(skb2);
- } else
- skb_orphan(skb);
-
- skb_pull(skb, 2);
- skb->dev = dev;
- skb->protocol=eth_type_trans(skb,dev);
- memset(skb->cb, 0, sizeof(skb->cb));
- lp->stats.rx_packets++;
- lp->stats.rx_bytes+=len;
- netif_rx(skb);
- dev->last_rx = jiffies;
- return len;
-}
-
-/*
- * The typical workload of the driver:
- * Handle the ether interface interrupts.
- *
- * (In this case handle the packets posted from user space..)
- */
-
-static void ethertap_rx(struct sock *sk, int len)
-{
- unsigned unit = sk->sk_protocol - NETLINK_TAPBASE;
- struct net_device *dev;
- struct sk_buff *skb;
-
- if (unit >= max_taps || (dev = tap_map[unit]) == NULL) {
- printk(KERN_CRIT "ethertap: bad unit %u!\n", unit);
- skb_queue_purge(&sk->sk_receive_queue);
- return;
- }
-
- if (ethertap_debug > 3)
- printk(KERN_DEBUG "%s: ethertap_rx()\n", dev->name);
-
- while ((skb = skb_dequeue(&sk->sk_receive_queue)) != NULL)
- ethertap_rx_skb(skb, dev);
-}
-
-static int ethertap_close(struct net_device *dev)
-{
- struct net_local *lp = netdev_priv(dev);
- struct sock *sk = lp->nl;
-
- if (ethertap_debug > 2)
- printk(KERN_DEBUG "%s: Shutting down.\n", dev->name);
-
- netif_stop_queue(dev);
-
- if (sk) {
- lp->nl = NULL;
- sock_release(sk->sk_socket);
- }
-
- return 0;
-}
-
-static struct net_device_stats *ethertap_get_stats(struct net_device *dev)
-{
- struct net_local *lp = netdev_priv(dev);
- return &lp->stats;
-}
-
-
-static int __init ethertap_init(void)
-{
- int i, err = 0;
-
- /* netlink can only hande 16 entries unless modified */
- if (max_taps > MAX_LINKS - NETLINK_TAPBASE)
- return -E2BIG;
-
- tap_map = kmalloc(sizeof(struct net_device *)*max_taps, GFP_KERNEL);
- if (!tap_map)
- return -ENOMEM;
-
- for (i = 0; i < max_taps; i++) {
- err = ethertap_probe(i);
- if (err) {
- while (--i > 0) {
- unregister_netdev(tap_map[i]);
- free_netdev(tap_map[i]);
- }
- break;
- }
- }
- if (err)
- kfree(tap_map);
- return err;
-}
-module_init(ethertap_init);
-
-static void __exit ethertap_cleanup(void)
-{
- int i;
-
- for (i = 0; i < max_taps; i++) {
- struct net_device *dev = tap_map[i];
- if (dev) {
- tap_map[i] = NULL;
- unregister_netdev(dev);
- free_netdev(dev);
- }
- }
- kfree(tap_map);
-}
-module_exit(ethertap_cleanup);
-
-MODULE_LICENSE("GPL");
diff --git a/drivers/net/irda/act200l-sir.c b/drivers/net/irda/act200l-sir.c
index cabf234b4a0b..d8b89c74aabd 100644
--- a/drivers/net/irda/act200l-sir.c
+++ b/drivers/net/irda/act200l-sir.c
@@ -240,7 +240,7 @@ static int act200l_reset(struct sir_dev *dev)
dev->speed = 9600;
break;
default:
- ERROR("%s(), unknown state %d\n", __FUNCTION__, state);
+ IRDA_ERROR("%s(), unknown state %d\n", __FUNCTION__, state);
ret = -1;
break;
}
diff --git a/drivers/net/irda/act200l.c b/drivers/net/irda/act200l.c
index e18de72c4690..756cd44e857a 100644
--- a/drivers/net/irda/act200l.c
+++ b/drivers/net/irda/act200l.c
@@ -152,7 +152,8 @@ static int act200l_change_speed(struct irda_task *task)
}
break;
case IRDA_TASK_CHILD_WAIT:
- WARNING("%s(), resetting dongle timed out!\n", __FUNCTION__);
+ IRDA_WARNING("%s(), resetting dongle timed out!\n",
+ __FUNCTION__);
ret = -1;
break;
case IRDA_TASK_CHILD_DONE:
@@ -197,7 +198,8 @@ static int act200l_change_speed(struct irda_task *task)
self->speed_task = NULL;
break;
default:
- ERROR("%s(), unknown state %d\n", __FUNCTION__, task->state);
+ IRDA_ERROR("%s(), unknown state %d\n",
+ __FUNCTION__, task->state);
irda_task_next_state(task, IRDA_TASK_DONE);
self->speed_task = NULL;
ret = -1;
@@ -263,7 +265,8 @@ static int act200l_reset(struct irda_task *task)
self->reset_task = NULL;
break;
default:
- ERROR("%s(), unknown state %d\n", __FUNCTION__, task->state);
+ IRDA_ERROR("%s(), unknown state %d\n",
+ __FUNCTION__, task->state);
irda_task_next_state(task, IRDA_TASK_DONE);
self->reset_task = NULL;
ret = -1;
diff --git a/drivers/net/irda/actisys.c b/drivers/net/irda/actisys.c
index 75344d6486fe..b2e31f4a384c 100644
--- a/drivers/net/irda/actisys.c
+++ b/drivers/net/irda/actisys.c
@@ -227,7 +227,7 @@ static int actisys_reset(struct irda_task *task)
dongle_t *self = (dongle_t *) task->instance;
int ret = 0;
- ASSERT(task != NULL, return -1;);
+ IRDA_ASSERT(task != NULL, return -1;);
self->reset_task = task;
@@ -254,7 +254,8 @@ static int actisys_reset(struct irda_task *task)
self->speed = 9600; /* That's the default */
break;
default:
- ERROR("%s(), unknown state %d\n", __FUNCTION__, task->state);
+ IRDA_ERROR("%s(), unknown state %d\n",
+ __FUNCTION__, task->state);
irda_task_next_state(task, IRDA_TASK_DONE);
self->reset_task = NULL;
ret = -1;
diff --git a/drivers/net/irda/ali-ircc.c b/drivers/net/irda/ali-ircc.c
index c9595a1a3b86..9bf34681d3df 100644
--- a/drivers/net/irda/ali-ircc.c
+++ b/drivers/net/irda/ali-ircc.c
@@ -260,7 +260,8 @@ static int ali_ircc_open(int i, chipio_t *info)
dev = alloc_irdadev(sizeof(*self));
if (dev == NULL) {
- ERROR("%s(), can't allocate memory for control block!\n", __FUNCTION__);
+ IRDA_ERROR("%s(), can't allocate memory for control block!\n",
+ __FUNCTION__);
return -ENOMEM;
}
@@ -283,7 +284,7 @@ static int ali_ircc_open(int i, chipio_t *info)
/* Reserve the ioports that we need */
if (!request_region(self->io.fir_base, self->io.fir_ext, driver_name)) {
- WARNING("%s(), can't get iobase of 0x%03x\n", __FUNCTION__,
+ IRDA_WARNING("%s(), can't get iobase of 0x%03x\n", __FUNCTION__,
self->io.fir_base);
err = -ENODEV;
goto err_out1;
@@ -345,14 +346,14 @@ static int ali_ircc_open(int i, chipio_t *info)
err = register_netdev(dev);
if (err) {
- ERROR("%s(), register_netdev() failed!\n", __FUNCTION__);
+ IRDA_ERROR("%s(), register_netdev() failed!\n", __FUNCTION__);
goto err_out4;
}
- MESSAGE("IrDA: Registered device %s\n", dev->name);
+ IRDA_MESSAGE("IrDA: Registered device %s\n", dev->name);
/* Check dongle id */
dongle_id = ali_ircc_read_dongle_id(i, info);
- MESSAGE("%s(), %s, Found dongle: %s\n", __FUNCTION__, driver_name, dongle_types[dongle_id]);
+ IRDA_MESSAGE("%s(), %s, Found dongle: %s\n", __FUNCTION__, driver_name, dongle_types[dongle_id]);
self->io.dongle_id = dongle_id;
@@ -391,7 +392,7 @@ static int __exit ali_ircc_close(struct ali_ircc_cb *self)
IRDA_DEBUG(4, "%s(), ---------------- Start ----------------\n", __FUNCTION__);
- ASSERT(self != NULL, return -1;);
+ IRDA_ASSERT(self != NULL, return -1;);
iobase = self->io.fir_base;
@@ -489,7 +490,7 @@ static int ali_ircc_probe_53(ali_chip_t *chip, chipio_t *info)
info->dma = reg & 0x07;
if(info->dma == 0x04)
- WARNING("%s(), No DMA channel assigned !\n", __FUNCTION__);
+ IRDA_WARNING("%s(), No DMA channel assigned !\n", __FUNCTION__);
else
IRDA_DEBUG(2, "%s(), probing dma=%d\n", __FUNCTION__, info->dma);
@@ -546,11 +547,11 @@ static int ali_ircc_setup(chipio_t *info)
/* Should be 0x00 in the M1535/M1535D */
if(version != 0x00)
{
- ERROR("%s, Wrong chip version %02x\n", driver_name, version);
+ IRDA_ERROR("%s, Wrong chip version %02x\n", driver_name, version);
return -1;
}
- // MESSAGE("%s, Found chip at base=0x%03x\n", driver_name, info->cfg_base);
+ // IRDA_MESSAGE("%s, Found chip at base=0x%03x\n", driver_name, info->cfg_base);
/* Set FIR FIFO Threshold Register */
switch_bank(iobase, BANK1);
@@ -581,7 +582,7 @@ static int ali_ircc_setup(chipio_t *info)
/* Switch to SIR space */
FIR2SIR(iobase);
- MESSAGE("%s, driver loaded (Benjamin Kong)\n", driver_name);
+ IRDA_MESSAGE("%s, driver loaded (Benjamin Kong)\n", driver_name);
/* Enable receive interrupts */
// outb(UART_IER_RDI, iobase+UART_IER); //benjamin 2000/11/23 01:25PM
@@ -645,7 +646,7 @@ static irqreturn_t ali_ircc_interrupt(int irq, void *dev_id,
IRDA_DEBUG(2, "%s(), ---------------- Start ----------------\n", __FUNCTION__);
if (!dev) {
- WARNING("%s: irq %d for unknown device.\n", driver_name, irq);
+ IRDA_WARNING("%s: irq %d for unknown device.\n", driver_name, irq);
return IRQ_NONE;
}
@@ -851,7 +852,7 @@ static void ali_ircc_sir_receive(struct ali_ircc_cb *self)
int iobase;
IRDA_DEBUG(2, "%s(), ---------------- Start ----------------\n", __FUNCTION__);
- ASSERT(self != NULL, return;);
+ IRDA_ASSERT(self != NULL, return;);
iobase = self->io.sir_base;
@@ -885,7 +886,7 @@ static void ali_ircc_sir_write_wakeup(struct ali_ircc_cb *self)
int actual = 0;
int iobase;
- ASSERT(self != NULL, return;);
+ IRDA_ASSERT(self != NULL, return;);
IRDA_DEBUG(2, "%s(), ---------------- Start ----------------\n", __FUNCTION__ );
@@ -994,7 +995,7 @@ static void ali_ircc_fir_change_speed(struct ali_ircc_cb *priv, __u32 baud)
IRDA_DEBUG(1, "%s(), ---------------- Start ----------------\n", __FUNCTION__ );
- ASSERT(self != NULL, return;);
+ IRDA_ASSERT(self != NULL, return;);
dev = self->netdev;
iobase = self->io.fir_base;
@@ -1035,7 +1036,7 @@ static void ali_ircc_sir_change_speed(struct ali_ircc_cb *priv, __u32 speed)
IRDA_DEBUG(1, "%s(), Setting speed to: %d\n", __FUNCTION__ , speed);
- ASSERT(self != NULL, return;);
+ IRDA_ASSERT(self != NULL, return;);
iobase = self->io.sir_base;
@@ -1315,19 +1316,19 @@ static int ali_ircc_net_open(struct net_device *dev)
IRDA_DEBUG(2, "%s(), ---------------- Start ----------------\n", __FUNCTION__ );
- ASSERT(dev != NULL, return -1;);
+ IRDA_ASSERT(dev != NULL, return -1;);
self = (struct ali_ircc_cb *) dev->priv;
- ASSERT(self != NULL, return 0;);
+ IRDA_ASSERT(self != NULL, return 0;);
iobase = self->io.fir_base;
/* Request IRQ and install Interrupt Handler */
if (request_irq(self->io.irq, ali_ircc_interrupt, 0, dev->name, dev))
{
- WARNING("%s, unable to allocate irq=%d\n", driver_name,
- self->io.irq);
+ IRDA_WARNING("%s, unable to allocate irq=%d\n", driver_name,
+ self->io.irq);
return -EAGAIN;
}
@@ -1336,8 +1337,8 @@ static int ali_ircc_net_open(struct net_device *dev)
* failure.
*/
if (request_dma(self->io.dma, dev->name)) {
- WARNING("%s, unable to allocate dma=%d\n", driver_name,
- self->io.dma);
+ IRDA_WARNING("%s, unable to allocate dma=%d\n", driver_name,
+ self->io.dma);
free_irq(self->io.irq, self);
return -EAGAIN;
}
@@ -1376,10 +1377,10 @@ static int ali_ircc_net_close(struct net_device *dev)
IRDA_DEBUG(4, "%s(), ---------------- Start ----------------\n", __FUNCTION__ );
- ASSERT(dev != NULL, return -1;);
+ IRDA_ASSERT(dev != NULL, return -1;);
self = (struct ali_ircc_cb *) dev->priv;
- ASSERT(self != NULL, return 0;);
+ IRDA_ASSERT(self != NULL, return 0;);
/* Stop device */
netif_stop_queue(dev);
@@ -1643,7 +1644,7 @@ static int ali_ircc_dma_xmit_complete(struct ali_ircc_cb *self)
if((inb(iobase+FIR_LSR) & LSR_FRAME_ABORT) == LSR_FRAME_ABORT)
{
- ERROR("%s(), ********* LSR_FRAME_ABORT *********\n", __FUNCTION__);
+ IRDA_ERROR("%s(), ********* LSR_FRAME_ABORT *********\n", __FUNCTION__);
self->stats.tx_errors++;
self->stats.tx_fifo_errors++;
}
@@ -1890,8 +1891,9 @@ static int ali_ircc_dma_receive_complete(struct ali_ircc_cb *self)
skb = dev_alloc_skb(len+1);
if (skb == NULL)
{
- WARNING("%s(), memory squeeze, "
- "dropping frame.\n", __FUNCTION__);
+ IRDA_WARNING("%s(), memory squeeze, "
+ "dropping frame.\n",
+ __FUNCTION__);
self->stats.rx_dropped++;
return FALSE;
@@ -1940,10 +1942,10 @@ static int ali_ircc_sir_hard_xmit(struct sk_buff *skb, struct net_device *dev)
IRDA_DEBUG(2, "%s(), ---------------- Start ----------------\n", __FUNCTION__ );
- ASSERT(dev != NULL, return 0;);
+ IRDA_ASSERT(dev != NULL, return 0;);
self = (struct ali_ircc_cb *) dev->priv;
- ASSERT(self != NULL, return 0;);
+ IRDA_ASSERT(self != NULL, return 0;);
iobase = self->io.sir_base;
@@ -2008,11 +2010,11 @@ static int ali_ircc_net_ioctl(struct net_device *dev, struct ifreq *rq, int cmd)
IRDA_DEBUG(2, "%s(), ---------------- Start ----------------\n", __FUNCTION__ );
- ASSERT(dev != NULL, return -1;);
+ IRDA_ASSERT(dev != NULL, return -1;);
self = dev->priv;
- ASSERT(self != NULL, return -1;);
+ IRDA_ASSERT(self != NULL, return -1;);
IRDA_DEBUG(2, "%s(), %s, (cmd=0x%X)\n", __FUNCTION__ , dev->name, cmd);
@@ -2065,7 +2067,7 @@ static int ali_ircc_is_receiving(struct ali_ircc_cb *self)
IRDA_DEBUG(2, "%s(), ---------------- Start -----------------\n", __FUNCTION__ );
- ASSERT(self != NULL, return FALSE;);
+ IRDA_ASSERT(self != NULL, return FALSE;);
spin_lock_irqsave(&self->lock, flags);
@@ -2109,7 +2111,7 @@ static void ali_ircc_suspend(struct ali_ircc_cb *self)
{
IRDA_DEBUG(2, "%s(), ---------------- Start ----------------\n", __FUNCTION__ );
- MESSAGE("%s, Suspending\n", driver_name);
+ IRDA_MESSAGE("%s, Suspending\n", driver_name);
if (self->io.suspended)
return;
@@ -2130,7 +2132,7 @@ static void ali_ircc_wakeup(struct ali_ircc_cb *self)
ali_ircc_net_open(self->netdev);
- MESSAGE("%s, Waking up\n", driver_name);
+ IRDA_MESSAGE("%s, Waking up\n", driver_name);
self->io.suspended = 0;
diff --git a/drivers/net/irda/donauboe.c b/drivers/net/irda/donauboe.c
index 0a4ee236ee75..0a08c539c051 100644
--- a/drivers/net/irda/donauboe.c
+++ b/drivers/net/irda/donauboe.c
@@ -587,9 +587,9 @@ toshoboe_startchip (struct toshoboe_cb *self)
/*Find out where the rings live */
physaddr = virt_to_bus (self->ring);
- ASSERT ((physaddr & 0x3ff) == 0,
- printk (KERN_ERR DRIVER_NAME "ring not correctly aligned\n");
- return;);
+ IRDA_ASSERT ((physaddr & 0x3ff) == 0,
+ printk (KERN_ERR DRIVER_NAME "ring not correctly aligned\n");
+ return;);
OUTB ((physaddr >> 10) & 0xff, OBOE_RING_BASE0);
OUTB ((physaddr >> 18) & 0xff, OBOE_RING_BASE1);
@@ -994,7 +994,7 @@ toshoboe_hard_xmit (struct sk_buff *skb, struct net_device *dev)
self = (struct toshoboe_cb *) dev->priv;
- ASSERT (self != NULL, return 0; );
+ IRDA_ASSERT (self != NULL, return 0; );
IRDA_DEBUG (1, "%s.tx:%x(%x)%x\n", __FUNCTION__
,skb->len,self->txpending,INB (OBOE_ENABLEH));
@@ -1360,10 +1360,10 @@ toshoboe_net_open (struct net_device *dev)
IRDA_DEBUG (4, "%s()\n", __FUNCTION__);
- ASSERT (dev != NULL, return -1; );
+ IRDA_ASSERT (dev != NULL, return -1; );
self = (struct toshoboe_cb *) dev->priv;
- ASSERT (self != NULL, return 0; );
+ IRDA_ASSERT (self != NULL, return 0; );
if (self->async)
return -EBUSY;
@@ -1402,7 +1402,7 @@ toshoboe_net_close (struct net_device *dev)
IRDA_DEBUG (4, "%s()\n", __FUNCTION__);
- ASSERT (dev != NULL, return -1; );
+ IRDA_ASSERT (dev != NULL, return -1; );
self = (struct toshoboe_cb *) dev->priv;
/* Stop device */
@@ -1439,11 +1439,11 @@ toshoboe_net_ioctl (struct net_device *dev, struct ifreq *rq, int cmd)
unsigned long flags;
int ret = 0;
- ASSERT (dev != NULL, return -1; );
+ IRDA_ASSERT (dev != NULL, return -1; );
self = dev->priv;
- ASSERT (self != NULL, return -1; );
+ IRDA_ASSERT (self != NULL, return -1; );
IRDA_DEBUG (5, "%s(), %s, (cmd=0x%X)\n", __FUNCTION__, dev->name, cmd);
@@ -1509,7 +1509,7 @@ toshoboe_close (struct pci_dev *pci_dev)
IRDA_DEBUG (4, "%s()\n", __FUNCTION__);
- ASSERT (self != NULL, return; );
+ IRDA_ASSERT (self != NULL, return; );
if (!self->stopped)
{
diff --git a/drivers/net/irda/girbil-sir.c b/drivers/net/irda/girbil-sir.c
index d3c56ee64345..0d2fe87fb9b7 100644
--- a/drivers/net/irda/girbil-sir.c
+++ b/drivers/net/irda/girbil-sir.c
@@ -179,7 +179,7 @@ static int girbil_change_speed(struct sir_dev *dev, unsigned speed)
break;
default:
- ERROR("%s - undefined state %d\n", __FUNCTION__, state);
+ IRDA_ERROR("%s - undefined state %d\n", __FUNCTION__, state);
ret = -EINVAL;
break;
}
@@ -241,7 +241,7 @@ static int girbil_reset(struct sir_dev *dev)
break;
default:
- ERROR("%s(), undefined state %d\n", __FUNCTION__, state);
+ IRDA_ERROR("%s(), undefined state %d\n", __FUNCTION__, state);
ret = -1;
break;
}
diff --git a/drivers/net/irda/girbil.c b/drivers/net/irda/girbil.c
index ecac87df93f2..248aeb0c726c 100644
--- a/drivers/net/irda/girbil.c
+++ b/drivers/net/irda/girbil.c
@@ -123,7 +123,8 @@ static int girbil_change_speed(struct irda_task *task)
}
break;
case IRDA_TASK_CHILD_WAIT:
- WARNING("%s(), resetting dongle timed out!\n", __FUNCTION__);
+ IRDA_WARNING("%s(), resetting dongle timed out!\n",
+ __FUNCTION__);
ret = -1;
break;
case IRDA_TASK_CHILD_DONE:
@@ -162,7 +163,8 @@ static int girbil_change_speed(struct irda_task *task)
self->speed_task = NULL;
break;
default:
- ERROR("%s(), unknown state %d\n", __FUNCTION__, task->state);
+ IRDA_ERROR("%s(), unknown state %d\n",
+ __FUNCTION__, task->state);
irda_task_next_state(task, IRDA_TASK_DONE);
self->speed_task = NULL;
ret = -1;
@@ -215,7 +217,8 @@ static int girbil_reset(struct irda_task *task)
self->reset_task = NULL;
break;
default:
- ERROR("%s(), unknown state %d\n", __FUNCTION__, task->state);
+ IRDA_ERROR("%s(), unknown state %d\n",
+ __FUNCTION__, task->state);
irda_task_next_state(task, IRDA_TASK_DONE);
self->reset_task = NULL;
ret = -1;
diff --git a/drivers/net/irda/irda-usb.c b/drivers/net/irda/irda-usb.c
index 64b2750b71ad..46e0022d3258 100644
--- a/drivers/net/irda/irda-usb.c
+++ b/drivers/net/irda/irda-usb.c
@@ -251,7 +251,7 @@ static void irda_usb_change_speed_xbofs(struct irda_usb_cb *self)
/* Grab the speed URB */
urb = self->speed_urb;
if (urb->status != 0) {
- WARNING("%s(), URB still in use!\n", __FUNCTION__);
+ IRDA_WARNING("%s(), URB still in use!\n", __FUNCTION__);
return;
}
@@ -271,7 +271,7 @@ static void irda_usb_change_speed_xbofs(struct irda_usb_cb *self)
/* Irq disabled -> GFP_ATOMIC */
if ((ret = usb_submit_urb(urb, GFP_ATOMIC))) {
- WARNING("%s(), failed Speed URB\n", __FUNCTION__);
+ IRDA_WARNING("%s(), failed Speed URB\n", __FUNCTION__);
}
}
@@ -287,9 +287,9 @@ static void speed_bulk_callback(struct urb *urb, struct pt_regs *regs)
IRDA_DEBUG(2, "%s()\n", __FUNCTION__);
/* We should always have a context */
- ASSERT(self != NULL, return;);
+ IRDA_ASSERT(self != NULL, return;);
/* We should always be called for the speed URB */
- ASSERT(urb == self->speed_urb, return;);
+ IRDA_ASSERT(urb == self->speed_urb, return;);
/* Check for timeout and other USB nasties */
if (urb->status != 0) {
@@ -374,7 +374,7 @@ static int irda_usb_hard_xmit(struct sk_buff *skb, struct net_device *netdev)
}
if (urb->status != 0) {
- WARNING("%s(), URB still in use!\n", __FUNCTION__);
+ IRDA_WARNING("%s(), URB still in use!\n", __FUNCTION__);
goto drop;
}
@@ -385,7 +385,7 @@ static int irda_usb_hard_xmit(struct sk_buff *skb, struct net_device *netdev)
if (skb_headroom(skb) < USB_IRDA_HEADER) {
IRDA_DEBUG(0, "%s(), Insuficient skb headroom.\n", __FUNCTION__);
if (skb_cow(skb, USB_IRDA_HEADER)) {
- WARNING("%s(), failed skb_cow() !!!\n", __FUNCTION__);
+ IRDA_WARNING("%s(), failed skb_cow() !!!\n", __FUNCTION__);
goto drop;
}
}
@@ -457,7 +457,7 @@ static int irda_usb_hard_xmit(struct sk_buff *skb, struct net_device *netdev)
/* Ask USB to send the packet - Irq disabled -> GFP_ATOMIC */
if ((res = usb_submit_urb(urb, GFP_ATOMIC))) {
- WARNING("%s(), failed Tx URB\n", __FUNCTION__);
+ IRDA_WARNING("%s(), failed Tx URB\n", __FUNCTION__);
self->stats.tx_errors++;
/* Let USB recover : We will catch that in the watchdog */
/*netif_start_queue(netdev);*/
@@ -492,9 +492,9 @@ static void write_bulk_callback(struct urb *urb, struct pt_regs *regs)
IRDA_DEBUG(2, "%s()\n", __FUNCTION__);
/* We should always have a context */
- ASSERT(self != NULL, return;);
+ IRDA_ASSERT(self != NULL, return;);
/* We should always be called for the speed URB */
- ASSERT(urb == self->tx_urb, return;);
+ IRDA_ASSERT(urb == self->tx_urb, return;);
/* Free up the skb */
dev_kfree_skb_any(skb);
@@ -566,14 +566,14 @@ static void irda_usb_net_timeout(struct net_device *netdev)
int done = 0; /* If we have made any progress */
IRDA_DEBUG(0, "%s(), Network layer thinks we timed out!\n", __FUNCTION__);
- ASSERT(self != NULL, return;);
+ IRDA_ASSERT(self != NULL, return;);
/* Protect us from USB callbacks, net Tx and else. */
spin_lock_irqsave(&self->lock, flags);
/* self->present *MUST* be read under spinlock */
if (!self->present) {
- WARNING("%s(), device not present!\n", __FUNCTION__);
+ IRDA_WARNING("%s(), device not present!\n", __FUNCTION__);
netif_stop_queue(netdev);
spin_unlock_irqrestore(&self->lock, flags);
return;
@@ -699,8 +699,8 @@ static void irda_usb_submit(struct irda_usb_cb *self, struct sk_buff *skb, struc
IRDA_DEBUG(2, "%s()\n", __FUNCTION__);
/* This should never happen */
- ASSERT(skb != NULL, return;);
- ASSERT(urb != NULL, return;);
+ IRDA_ASSERT(skb != NULL, return;);
+ IRDA_ASSERT(urb != NULL, return;);
/* Save ourselves in the skb */
cb = (struct irda_skb_cb *) skb->cb;
@@ -720,7 +720,8 @@ static void irda_usb_submit(struct irda_usb_cb *self, struct sk_buff *skb, struc
if (ret) {
/* If this ever happen, we are in deep s***.
* Basically, the Rx path will stop... */
- WARNING("%s(), Failed to submit Rx URB %d\n", __FUNCTION__, ret);
+ IRDA_WARNING("%s(), Failed to submit Rx URB %d\n",
+ __FUNCTION__, ret);
}
}
@@ -744,9 +745,9 @@ static void irda_usb_receive(struct urb *urb, struct pt_regs *regs)
/* Find ourselves */
cb = (struct irda_skb_cb *) skb->cb;
- ASSERT(cb != NULL, return;);
+ IRDA_ASSERT(cb != NULL, return;);
self = (struct irda_usb_cb *) cb->context;
- ASSERT(self != NULL, return;);
+ IRDA_ASSERT(self != NULL, return;);
/* If the network is closed or the device gone, stop everything */
if ((!self->netopen) || (!self->present)) {
@@ -777,7 +778,7 @@ static void irda_usb_receive(struct urb *urb, struct pt_regs *regs)
/* Check for empty frames */
if (urb->actual_length <= USB_IRDA_HEADER) {
- WARNING("%s(), empty frame!\n", __FUNCTION__);
+ IRDA_WARNING("%s(), empty frame!\n", __FUNCTION__);
goto done;
}
@@ -910,13 +911,13 @@ static int irda_usb_net_open(struct net_device *netdev)
IRDA_DEBUG(1, "%s()\n", __FUNCTION__);
- ASSERT(netdev != NULL, return -1;);
+ IRDA_ASSERT(netdev != NULL, return -1;);
self = (struct irda_usb_cb *) netdev->priv;
- ASSERT(self != NULL, return -1;);
+ IRDA_ASSERT(self != NULL, return -1;);
/* Can only open the device if it's there */
if(!self->present) {
- WARNING("%s(), device not present!\n", __FUNCTION__);
+ IRDA_WARNING("%s(), device not present!\n", __FUNCTION__);
return -1;
}
@@ -938,7 +939,7 @@ static int irda_usb_net_open(struct net_device *netdev)
*/
sprintf(hwname, "usb#%d", self->usbdev->devnum);
self->irlap = irlap_open(netdev, &self->qos, hwname);
- ASSERT(self->irlap != NULL, return -1;);
+ IRDA_ASSERT(self->irlap != NULL, return -1;);
/* Allow IrLAP to send data to us */
netif_start_queue(netdev);
@@ -957,7 +958,8 @@ static int irda_usb_net_open(struct net_device *netdev)
if (!skb) {
/* If this ever happen, we are in deep s***.
* Basically, we can't start the Rx path... */
- WARNING("%s(), Failed to allocate Rx skb\n", __FUNCTION__);
+ IRDA_WARNING("%s(), Failed to allocate Rx skb\n",
+ __FUNCTION__);
return -1;
}
//skb_reserve(newskb, USB_IRDA_HEADER - 1);
@@ -982,9 +984,9 @@ static int irda_usb_net_close(struct net_device *netdev)
IRDA_DEBUG(1, "%s()\n", __FUNCTION__);
- ASSERT(netdev != NULL, return -1;);
+ IRDA_ASSERT(netdev != NULL, return -1;);
self = (struct irda_usb_cb *) netdev->priv;
- ASSERT(self != NULL, return -1;);
+ IRDA_ASSERT(self != NULL, return -1;);
/* Clear this flag *before* unlinking the urbs and *before*
* stopping the network Tx queue - Jean II */
@@ -1030,9 +1032,9 @@ static int irda_usb_net_ioctl(struct net_device *dev, struct ifreq *rq, int cmd)
struct irda_usb_cb *self;
int ret = 0;
- ASSERT(dev != NULL, return -1;);
+ IRDA_ASSERT(dev != NULL, return -1;);
self = dev->priv;
- ASSERT(self != NULL, return -1;);
+ IRDA_ASSERT(self != NULL, return -1;);
IRDA_DEBUG(2, "%s(), %s, (cmd=0x%X)\n", __FUNCTION__, dev->name, cmd);
@@ -1239,7 +1241,7 @@ static inline int irda_usb_parse_endpoints(struct irda_usb_cb *self, struct usb_
/* This is our interrupt endpoint */
self->bulk_int_ep = ep;
} else {
- ERROR("%s(), Unrecognised endpoint %02X.\n", __FUNCTION__, ep);
+ IRDA_ERROR("%s(), Unrecognised endpoint %02X.\n", __FUNCTION__, ep);
}
}
}
@@ -1247,7 +1249,7 @@ static inline int irda_usb_parse_endpoints(struct irda_usb_cb *self, struct usb_
IRDA_DEBUG(0, "%s(), And our endpoints are : in=%02X, out=%02X (%d), int=%02X\n",
__FUNCTION__, self->bulk_in_ep, self->bulk_out_ep, self->bulk_out_mtu, self->bulk_int_ep);
/* Should be 8, 16, 32 or 64 bytes */
- ASSERT(self->bulk_out_mtu == 64, ;);
+ IRDA_ASSERT(self->bulk_out_mtu == 64, ;);
return((self->bulk_in_ep != 0) && (self->bulk_out_ep != 0));
}
@@ -1312,11 +1314,11 @@ static inline struct irda_class_desc *irda_usb_find_class_desc(struct usb_interf
IRDA_DEBUG(1, "%s(), ret=%d\n", __FUNCTION__, ret);
if (ret < sizeof(*desc)) {
- WARNING("usb-irda: class_descriptor read %s (%d)\n",
- (ret<0) ? "failed" : "too short", ret);
+ IRDA_WARNING("usb-irda: class_descriptor read %s (%d)\n",
+ (ret<0) ? "failed" : "too short", ret);
}
else if (desc->bDescriptorType != USB_DT_IRDA) {
- WARNING("usb-irda: bad class_descriptor type\n");
+ IRDA_WARNING("usb-irda: bad class_descriptor type\n");
}
else {
#ifdef IU_DUMP_CLASS_DESC
@@ -1359,9 +1361,9 @@ static int irda_usb_probe(struct usb_interface *intf,
* don't need to check if the dongle is really ours.
* Jean II */
- MESSAGE("IRDA-USB found at address %d, Vendor: %x, Product: %x\n",
- dev->devnum, le16_to_cpu(dev->descriptor.idVendor),
- le16_to_cpu(dev->descriptor.idProduct));
+ IRDA_MESSAGE("IRDA-USB found at address %d, Vendor: %x, Product: %x\n",
+ dev->devnum, le16_to_cpu(dev->descriptor.idVendor),
+ le16_to_cpu(dev->descriptor.idProduct));
net = alloc_irdadev(sizeof(*self));
if (!net)
@@ -1421,7 +1423,7 @@ static int irda_usb_probe(struct usb_interface *intf,
interface = intf->cur_altsetting;
if(!irda_usb_parse_endpoints(self, interface->endpoint,
interface->desc.bNumEndpoints)) {
- ERROR("%s(), Bogus endpoints...\n", __FUNCTION__);
+ IRDA_ERROR("%s(), Bogus endpoints...\n", __FUNCTION__);
ret = -EIO;
goto err_out_3;
}
@@ -1453,7 +1455,7 @@ static int irda_usb_probe(struct usb_interface *intf,
if (ret)
goto err_out_4;
- MESSAGE("IrDA: Registered device %s\n", net->name);
+ IRDA_MESSAGE("IrDA: Registered device %s\n", net->name);
usb_set_intfdata(intf, self);
return 0;
@@ -1573,7 +1575,7 @@ static int __init usb_irda_init(void)
if (ret < 0)
return ret;
- MESSAGE("USB IrDA support registered\n");
+ IRDA_MESSAGE("USB IrDA support registered\n");
return 0;
}
module_init(usb_irda_init);
diff --git a/drivers/net/irda/irport.c b/drivers/net/irda/irport.c
index 8dc15a2cd3d9..5971315f3fa0 100644
--- a/drivers/net/irda/irport.c
+++ b/drivers/net/irda/irport.c
@@ -114,8 +114,8 @@ irport_open(int i, unsigned int iobase, unsigned int irq)
*/
dev = alloc_irdadev(sizeof(struct irport_cb));
if (!dev) {
- ERROR("%s(), can't allocate memory for "
- "irda device!\n", __FUNCTION__);
+ IRDA_ERROR("%s(), can't allocate memory for "
+ "irda device!\n", __FUNCTION__);
goto err_out2;
}
@@ -147,8 +147,8 @@ irport_open(int i, unsigned int iobase, unsigned int irq)
self->rx_buff.skb = __dev_alloc_skb(self->rx_buff.truesize,
GFP_KERNEL);
if (self->rx_buff.skb == NULL) {
- ERROR("%s(), can't allocate memory for "
- "receive buffer!\n", __FUNCTION__);
+ IRDA_ERROR("%s(), can't allocate memory for "
+ "receive buffer!\n", __FUNCTION__);
goto err_out3;
}
skb_reserve(self->rx_buff.skb, 1);
@@ -168,8 +168,8 @@ irport_open(int i, unsigned int iobase, unsigned int irq)
self->tx_buff.head = (__u8 *) kmalloc(self->tx_buff.truesize,
GFP_KERNEL);
if (self->tx_buff.head == NULL) {
- ERROR("%s(), can't allocate memory for "
- "transmit buffer!\n", __FUNCTION__);
+ IRDA_ERROR("%s(), can't allocate memory for "
+ "transmit buffer!\n", __FUNCTION__);
goto err_out4;
}
memset(self->tx_buff.head, 0, self->tx_buff.truesize);
@@ -198,10 +198,10 @@ irport_open(int i, unsigned int iobase, unsigned int irq)
dev->irq = irq;
if (register_netdev(dev)) {
- ERROR("%s(), register_netdev() failed!\n", __FUNCTION__);
+ IRDA_ERROR("%s(), register_netdev() failed!\n", __FUNCTION__);
goto err_out5;
}
- MESSAGE("IrDA: Registered device %s (irport io=0x%X irq=%d)\n",
+ IRDA_MESSAGE("IrDA: Registered device %s (irport io=0x%X irq=%d)\n",
dev->name, iobase, irq);
return self;
@@ -220,7 +220,7 @@ irport_open(int i, unsigned int iobase, unsigned int irq)
static int irport_close(struct irport_cb *self)
{
- ASSERT(self != NULL, return -1;);
+ IRDA_ASSERT(self != NULL, return -1;);
/* We are not using any dongle anymore! */
if (self->dongle)
@@ -340,8 +340,8 @@ static void irport_change_speed(void *priv, __u32 speed)
unsigned int lcr; /* Line control reg */
int divisor;
- ASSERT(self != NULL, return;);
- ASSERT(speed != 0, return;);
+ IRDA_ASSERT(self != NULL, return;);
+ IRDA_ASSERT(speed != 0, return;);
IRDA_DEBUG(1, "%s(), Setting speed to: %d - iobase=%#x\n",
__FUNCTION__, speed, self->io.sir_base);
@@ -395,7 +395,7 @@ int __irport_change_speed(struct irda_task *task)
self = (struct irport_cb *) task->instance;
- ASSERT(self != NULL, return -1;);
+ IRDA_ASSERT(self != NULL, return -1;);
/* Locking notes : this function may be called from irq context with
* spinlock, via irport_write_wakeup(), or from non-interrupt without
@@ -444,7 +444,7 @@ int __irport_change_speed(struct irda_task *task)
irda_task_next_state(task, IRDA_TASK_CHILD_DONE);
break;
case IRDA_TASK_CHILD_WAIT:
- WARNING("%s(), changing speed of dongle timed out!\n", __FUNCTION__);
+ IRDA_WARNING("%s(), changing speed of dongle timed out!\n", __FUNCTION__);
ret = -1;
break;
case IRDA_TASK_CHILD_DONE:
@@ -454,7 +454,8 @@ int __irport_change_speed(struct irda_task *task)
irda_task_next_state(task, IRDA_TASK_DONE);
break;
default:
- ERROR("%s(), unknown state %d\n", __FUNCTION__, task->state);
+ IRDA_ERROR("%s(), unknown state %d\n",
+ __FUNCTION__, task->state);
irda_task_next_state(task, IRDA_TASK_DONE);
ret = -1;
break;
@@ -481,8 +482,8 @@ static int irport_change_speed_complete(struct irda_task *task)
self = (struct irport_cb *) task->instance;
- ASSERT(self != NULL, return -1;);
- ASSERT(self->netdev != NULL, return -1;);
+ IRDA_ASSERT(self != NULL, return -1;);
+ IRDA_ASSERT(self->netdev != NULL, return -1;);
/* Finished changing speed, so we are not busy any longer */
/* Signal network layer so it can try to send the frame */
@@ -507,10 +508,10 @@ static void irport_timeout(struct net_device *dev)
unsigned long flags;
self = (struct irport_cb *) dev->priv;
- ASSERT(self != NULL, return;);
+ IRDA_ASSERT(self != NULL, return;);
iobase = self->io.sir_base;
- WARNING("%s: transmit timed out, jiffies = %ld, trans_start = %ld\n",
+ IRDA_WARNING("%s: transmit timed out, jiffies = %ld, trans_start = %ld\n",
dev->name, jiffies, dev->trans_start);
spin_lock_irqsave(&self->lock, flags);
@@ -592,10 +593,10 @@ static int irport_hard_xmit(struct sk_buff *skb, struct net_device *dev)
IRDA_DEBUG(1, "%s()\n", __FUNCTION__);
- ASSERT(dev != NULL, return 0;);
+ IRDA_ASSERT(dev != NULL, return 0;);
self = (struct irport_cb *) dev->priv;
- ASSERT(self != NULL, return 0;);
+ IRDA_ASSERT(self != NULL, return 0;);
iobase = self->io.sir_base;
@@ -692,7 +693,7 @@ static inline void irport_write_wakeup(struct irport_cb *self)
int iobase;
unsigned int fcr;
- ASSERT(self != NULL, return;);
+ IRDA_ASSERT(self != NULL, return;);
IRDA_DEBUG(4, "%s()\n", __FUNCTION__);
@@ -753,7 +754,7 @@ static inline void irport_receive(struct irport_cb *self)
int boguscount = 0;
int iobase;
- ASSERT(self != NULL, return;);
+ IRDA_ASSERT(self != NULL, return;);
iobase = self->io.sir_base;
@@ -789,7 +790,7 @@ static irqreturn_t irport_interrupt(int irq, void *dev_id,
int handled = 0;
if (!dev) {
- WARNING("%s() irq %d for unknown device.\n", __FUNCTION__, irq);
+ IRDA_WARNING("%s() irq %d for unknown device.\n", __FUNCTION__, irq);
return IRQ_NONE;
}
self = (struct irport_cb *) dev->priv;
@@ -826,8 +827,8 @@ static irqreturn_t irport_interrupt(int irq, void *dev_id,
/* Make sure we don't stay here to long */
if (boguscount++ > 10) {
- WARNING("%s() irq handler looping : lsr=%02x\n",
- __FUNCTION__, lsr);
+ IRDA_WARNING("%s() irq handler looping : lsr=%02x\n",
+ __FUNCTION__, lsr);
break;
}
@@ -862,7 +863,7 @@ static int irport_net_open(struct net_device *dev)
IRDA_DEBUG(2, "%s()\n", __FUNCTION__);
- ASSERT(dev != NULL, return -1;);
+ IRDA_ASSERT(dev != NULL, return -1;);
self = (struct irport_cb *) dev->priv;
iobase = self->io.sir_base;
@@ -914,10 +915,10 @@ static int irport_net_close(struct net_device *dev)
IRDA_DEBUG(4, "%s()\n", __FUNCTION__);
- ASSERT(dev != NULL, return -1;);
+ IRDA_ASSERT(dev != NULL, return -1;);
self = (struct irport_cb *) dev->priv;
- ASSERT(self != NULL, return -1;);
+ IRDA_ASSERT(self != NULL, return -1;);
iobase = self->io.sir_base;
@@ -960,7 +961,7 @@ static int irport_set_dtr_rts(struct net_device *dev, int dtr, int rts)
struct irport_cb *self = dev->priv;
int iobase;
- ASSERT(self != NULL, return -1;);
+ IRDA_ASSERT(self != NULL, return -1;);
iobase = self->io.sir_base;
@@ -980,7 +981,7 @@ static int irport_raw_write(struct net_device *dev, __u8 *buf, int len)
int actual = 0;
int iobase;
- ASSERT(self != NULL, return -1;);
+ IRDA_ASSERT(self != NULL, return -1;);
iobase = self->io.sir_base;
@@ -1014,11 +1015,11 @@ static int irport_net_ioctl(struct net_device *dev, struct ifreq *rq, int cmd)
unsigned long flags;
int ret = 0;
- ASSERT(dev != NULL, return -1;);
+ IRDA_ASSERT(dev != NULL, return -1;);
self = dev->priv;
- ASSERT(self != NULL, return -1;);
+ IRDA_ASSERT(self != NULL, return -1;);
IRDA_DEBUG(2, "%s(), %s, (cmd=0x%X)\n", __FUNCTION__, dev->name, cmd);
diff --git a/drivers/net/irda/irtty-sir.c b/drivers/net/irda/irtty-sir.c
index acd99ae89380..7d23aa375908 100644
--- a/drivers/net/irda/irtty-sir.c
+++ b/drivers/net/irda/irtty-sir.c
@@ -60,8 +60,8 @@ static int irtty_chars_in_buffer(struct sir_dev *dev)
{
struct sirtty_cb *priv = dev->priv;
- ASSERT(priv != NULL, return -1;);
- ASSERT(priv->magic == IRTTY_MAGIC, return -1;);
+ IRDA_ASSERT(priv != NULL, return -1;);
+ IRDA_ASSERT(priv->magic == IRTTY_MAGIC, return -1;);
return priv->tty->driver->chars_in_buffer(priv->tty);
}
@@ -88,8 +88,8 @@ static void irtty_wait_until_sent(struct sir_dev *dev)
struct sirtty_cb *priv = dev->priv;
struct tty_struct *tty;
- ASSERT(priv != NULL, return;);
- ASSERT(priv->magic == IRTTY_MAGIC, return;);
+ IRDA_ASSERT(priv != NULL, return;);
+ IRDA_ASSERT(priv->magic == IRTTY_MAGIC, return;);
tty = priv->tty;
if (tty->driver->wait_until_sent) {
@@ -119,8 +119,8 @@ static int irtty_change_speed(struct sir_dev *dev, unsigned speed)
struct termios old_termios;
int cflag;
- ASSERT(priv != NULL, return -1;);
- ASSERT(priv->magic == IRTTY_MAGIC, return -1;);
+ IRDA_ASSERT(priv != NULL, return -1;);
+ IRDA_ASSERT(priv->magic == IRTTY_MAGIC, return -1;);
tty = priv->tty;
@@ -183,8 +183,8 @@ static int irtty_set_dtr_rts(struct sir_dev *dev, int dtr, int rts)
int set = 0;
int clear = 0;
- ASSERT(priv != NULL, return -1;);
- ASSERT(priv->magic == IRTTY_MAGIC, return -1;);
+ IRDA_ASSERT(priv != NULL, return -1;);
+ IRDA_ASSERT(priv->magic == IRTTY_MAGIC, return -1;);
if (rts)
set |= TIOCM_RTS;
@@ -201,7 +201,7 @@ static int irtty_set_dtr_rts(struct sir_dev *dev, int dtr, int rts)
* This function is not yet defined for all tty driver, so
* let's be careful... Jean II
*/
- ASSERT(priv->tty->driver->tiocmset != NULL, return -1;);
+ IRDA_ASSERT(priv->tty->driver->tiocmset != NULL, return -1;);
priv->tty->driver->tiocmset(priv->tty, NULL, set, clear);
return 0;
@@ -220,8 +220,8 @@ static int irtty_do_write(struct sir_dev *dev, const unsigned char *ptr, size_t
struct tty_struct *tty;
int writelen;
- ASSERT(priv != NULL, return -1;);
- ASSERT(priv->magic == IRTTY_MAGIC, return -1;);
+ IRDA_ASSERT(priv != NULL, return -1;);
+ IRDA_ASSERT(priv->magic == IRTTY_MAGIC, return -1;);
tty = priv->tty;
if (!tty->driver->write)
@@ -262,15 +262,15 @@ static void irtty_receive_buf(struct tty_struct *tty, const unsigned char *cp,
struct sirtty_cb *priv = tty->disc_data;
int i;
- ASSERT(priv != NULL, return;);
- ASSERT(priv->magic == IRTTY_MAGIC, return;);
+ IRDA_ASSERT(priv != NULL, return;);
+ IRDA_ASSERT(priv->magic == IRTTY_MAGIC, return;);
if (unlikely(count==0)) /* yes, this happens */
return;
dev = priv->dev;
if (!dev) {
- WARNING("%s(), not ready yet!\n", __FUNCTION__);
+ IRDA_WARNING("%s(), not ready yet!\n", __FUNCTION__);
return;
}
@@ -298,8 +298,8 @@ static int irtty_receive_room(struct tty_struct *tty)
{
struct sirtty_cb *priv = tty->disc_data;
- ASSERT(priv != NULL, return 0;);
- ASSERT(priv->magic == IRTTY_MAGIC, return 0;);
+ IRDA_ASSERT(priv != NULL, return 0;);
+ IRDA_ASSERT(priv->magic == IRTTY_MAGIC, return 0;);
return 65536; /* We can handle an infinite amount of data. :-) */
}
@@ -315,8 +315,8 @@ static void irtty_write_wakeup(struct tty_struct *tty)
{
struct sirtty_cb *priv = tty->disc_data;
- ASSERT(priv != NULL, return;);
- ASSERT(priv->magic == IRTTY_MAGIC, return;);
+ IRDA_ASSERT(priv != NULL, return;);
+ IRDA_ASSERT(priv->magic == IRTTY_MAGIC, return;);
tty->flags &= ~(1 << TTY_DO_WRITE_WAKEUP);
@@ -440,13 +440,13 @@ static int irtty_ioctl(struct tty_struct *tty, struct file *file, unsigned int c
struct sirtty_cb *priv = tty->disc_data;
int err = 0;
- ASSERT(priv != NULL, return -ENODEV;);
- ASSERT(priv->magic == IRTTY_MAGIC, return -EBADR;);
+ IRDA_ASSERT(priv != NULL, return -ENODEV;);
+ IRDA_ASSERT(priv->magic == IRTTY_MAGIC, return -EBADR;);
IRDA_DEBUG(3, "%s(cmd=0x%X)\n", __FUNCTION__, cmd);
dev = priv->dev;
- ASSERT(dev != NULL, return -1;);
+ IRDA_ASSERT(dev != NULL, return -1;);
switch (cmd) {
case TCGETS:
@@ -460,7 +460,7 @@ static int irtty_ioctl(struct tty_struct *tty, struct file *file, unsigned int c
break;
case IRTTY_IOCGET:
- ASSERT(dev->netdev != NULL, return -1;);
+ IRDA_ASSERT(dev->netdev != NULL, return -1;);
memset(&info, 0, sizeof(info));
strncpy(info.name, dev->netdev->name, sizeof(info.name)-1);
@@ -558,8 +558,8 @@ static void irtty_close(struct tty_struct *tty)
{
struct sirtty_cb *priv = tty->disc_data;
- ASSERT(priv != NULL, return;);
- ASSERT(priv->magic == IRTTY_MAGIC, return;);
+ IRDA_ASSERT(priv != NULL, return;);
+ IRDA_ASSERT(priv->magic == IRTTY_MAGIC, return;);
/* Hm, with a dongle attached the dongle driver wants
* to close the dongle - which requires the use of
@@ -617,8 +617,8 @@ static int __init irtty_sir_init(void)
int err;
if ((err = tty_register_ldisc(N_IRDA, &irda_ldisc)) != 0)
- ERROR("IrDA: can't register line discipline (err = %d)\n",
- err);
+ IRDA_ERROR("IrDA: can't register line discipline (err = %d)\n",
+ err);
return err;
}
@@ -627,8 +627,8 @@ static void __exit irtty_sir_cleanup(void)
int err;
if ((err = tty_register_ldisc(N_IRDA, NULL))) {
- ERROR("%s(), can't unregister line discipline (err = %d)\n",
- __FUNCTION__, err);
+ IRDA_ERROR("%s(), can't unregister line discipline (err = %d)\n",
+ __FUNCTION__, err);
}
}
diff --git a/drivers/net/irda/ma600-sir.c b/drivers/net/irda/ma600-sir.c
index feb344e86508..ebed168b7da6 100644
--- a/drivers/net/irda/ma600-sir.c
+++ b/drivers/net/irda/ma600-sir.c
@@ -201,9 +201,9 @@ static int ma600_change_speed(struct sir_dev *dev, unsigned speed)
sirdev_raw_read(dev, &byte, sizeof(byte));
if (byte != get_control_byte(speed)) {
- WARNING("%s(): bad control byte read-back %02x != %02x\n",
- __FUNCTION__, (unsigned) byte,
- (unsigned) get_control_byte(speed));
+ IRDA_WARNING("%s(): bad control byte read-back %02x != %02x\n",
+ __FUNCTION__, (unsigned) byte,
+ (unsigned) get_control_byte(speed));
return -1;
}
else
diff --git a/drivers/net/irda/ma600.c b/drivers/net/irda/ma600.c
index c3dfd34d71ba..f5e6836667fd 100644
--- a/drivers/net/irda/ma600.c
+++ b/drivers/net/irda/ma600.c
@@ -209,7 +209,8 @@ static int ma600_change_speed(struct irda_task *task)
break;
case IRDA_TASK_CHILD_WAIT:
- WARNING("%s(), resetting dongle timed out!\n", __FUNCTION__);
+ IRDA_WARNING("%s(), resetting dongle timed out!\n",
+ __FUNCTION__);
ret = -1;
break;
@@ -267,7 +268,8 @@ static int ma600_change_speed(struct irda_task *task)
break;
default:
- ERROR("%s(), unknown state %d\n", __FUNCTION__, task->state);
+ IRDA_ERROR("%s(), unknown state %d\n",
+ __FUNCTION__, task->state);
irda_task_next_state(task, IRDA_TASK_DONE);
self->speed_task = NULL;
ret = -1;
@@ -320,7 +322,8 @@ int ma600_reset(struct irda_task *task)
self->reset_task = NULL;
break;
default:
- ERROR("%s(), unknown state %d\n", __FUNCTION__, task->state);
+ IRDA_ERROR("%s(), unknown state %d\n",
+ __FUNCTION__, task->state);
irda_task_next_state(task, IRDA_TASK_DONE);
self->reset_task = NULL;
ret = -1;
diff --git a/drivers/net/irda/mcp2120-sir.c b/drivers/net/irda/mcp2120-sir.c
index 25908ffa4a17..67bd016e4df8 100644
--- a/drivers/net/irda/mcp2120-sir.c
+++ b/drivers/net/irda/mcp2120-sir.c
@@ -155,7 +155,7 @@ static int mcp2120_change_speed(struct sir_dev *dev, unsigned speed)
break;
default:
- ERROR("%s(), undefine state %d\n", __FUNCTION__, state);
+ IRDA_ERROR("%s(), undefine state %d\n", __FUNCTION__, state);
ret = -EINVAL;
break;
}
@@ -213,7 +213,7 @@ static int mcp2120_reset(struct sir_dev *dev)
break;
default:
- ERROR("%s(), undefined state %d\n", __FUNCTION__, state);
+ IRDA_ERROR("%s(), undefined state %d\n", __FUNCTION__, state);
ret = -EINVAL;
break;
}
diff --git a/drivers/net/irda/mcp2120.c b/drivers/net/irda/mcp2120.c
index d170df507b6f..5e6199eeef4f 100644
--- a/drivers/net/irda/mcp2120.c
+++ b/drivers/net/irda/mcp2120.c
@@ -103,7 +103,8 @@ static int mcp2120_change_speed(struct irda_task *task)
}
break;
case IRDA_TASK_CHILD_WAIT:
- WARNING("%s(), resetting dongle timed out!\n", __FUNCTION__);
+ IRDA_WARNING("%s(), resetting dongle timed out!\n",
+ __FUNCTION__);
ret = -1;
break;
case IRDA_TASK_CHILD_DONE:
@@ -151,7 +152,8 @@ static int mcp2120_change_speed(struct irda_task *task)
//printk("mcp2120_change_speed irda_task_wait\n");
break;
default:
- ERROR("%s(), unknown state %d\n", __FUNCTION__, task->state);
+ IRDA_ERROR("%s(), unknown state %d\n",
+ __FUNCTION__, task->state);
irda_task_next_state(task, IRDA_TASK_DONE);
self->speed_task = NULL;
ret = -1;
@@ -206,7 +208,8 @@ static int mcp2120_reset(struct irda_task *task)
self->reset_task = NULL;
break;
default:
- ERROR("%s(), unknown state %d\n", __FUNCTION__, task->state);
+ IRDA_ERROR("%s(), unknown state %d\n",
+ __FUNCTION__, task->state);
irda_task_next_state(task, IRDA_TASK_DONE);
self->reset_task = NULL;
ret = -1;
diff --git a/drivers/net/irda/nsc-ircc.c b/drivers/net/irda/nsc-ircc.c
index b54a27c8872a..805714ec9a8a 100644
--- a/drivers/net/irda/nsc-ircc.c
+++ b/drivers/net/irda/nsc-ircc.c
@@ -250,18 +250,18 @@ static int __init nsc_ircc_open(int i, chipio_t *info)
IRDA_DEBUG(2, "%s()\n", __FUNCTION__);
- MESSAGE("%s, Found chip at base=0x%03x\n", driver_name,
- info->cfg_base);
+ IRDA_MESSAGE("%s, Found chip at base=0x%03x\n", driver_name,
+ info->cfg_base);
if ((nsc_ircc_setup(info)) == -1)
return -1;
- MESSAGE("%s, driver loaded (Dag Brattli)\n", driver_name);
+ IRDA_MESSAGE("%s, driver loaded (Dag Brattli)\n", driver_name);
dev = alloc_irdadev(sizeof(struct nsc_ircc_cb));
if (dev == NULL) {
- ERROR("%s(), can't allocate memory for "
- "control block!\n", __FUNCTION__);
+ IRDA_ERROR("%s(), can't allocate memory for "
+ "control block!\n", __FUNCTION__);
return -ENOMEM;
}
@@ -284,8 +284,8 @@ static int __init nsc_ircc_open(int i, chipio_t *info)
/* Reserve the ioports that we need */
ret = request_region(self->io.fir_base, self->io.fir_ext, driver_name);
if (!ret) {
- WARNING("%s(), can't get iobase of 0x%03x\n",
- __FUNCTION__, self->io.fir_base);
+ IRDA_WARNING("%s(), can't get iobase of 0x%03x\n",
+ __FUNCTION__, self->io.fir_base);
err = -ENODEV;
goto out1;
}
@@ -343,21 +343,21 @@ static int __init nsc_ircc_open(int i, chipio_t *info)
err = register_netdev(dev);
if (err) {
- ERROR("%s(), register_netdev() failed!\n", __FUNCTION__);
+ IRDA_ERROR("%s(), register_netdev() failed!\n", __FUNCTION__);
goto out4;
}
- MESSAGE("IrDA: Registered device %s\n", dev->name);
+ IRDA_MESSAGE("IrDA: Registered device %s\n", dev->name);
/* Check if user has supplied a valid dongle id or not */
if ((dongle_id <= 0) ||
(dongle_id >= (sizeof(dongle_types) / sizeof(dongle_types[0]))) ) {
dongle_id = nsc_ircc_read_dongle_id(self->io.fir_base);
- MESSAGE("%s, Found dongle: %s\n", driver_name,
- dongle_types[dongle_id]);
+ IRDA_MESSAGE("%s, Found dongle: %s\n", driver_name,
+ dongle_types[dongle_id]);
} else {
- MESSAGE("%s, Using dongle: %s\n", driver_name,
- dongle_types[dongle_id]);
+ IRDA_MESSAGE("%s, Using dongle: %s\n", driver_name,
+ dongle_types[dongle_id]);
}
self->io.dongle_id = dongle_id;
@@ -394,7 +394,7 @@ static int __exit nsc_ircc_close(struct nsc_ircc_cb *self)
IRDA_DEBUG(4, "%s()\n", __FUNCTION__);
- ASSERT(self != NULL, return -1;);
+ IRDA_ASSERT(self != NULL, return -1;);
iobase = self->io.fir_base;
@@ -441,7 +441,7 @@ static int nsc_ircc_init_108(nsc_chip_t *chip, chipio_t *info)
case 0x2e8: outb(0x15, cfg_base+1); break;
case 0x3f8: outb(0x16, cfg_base+1); break;
case 0x2f8: outb(0x17, cfg_base+1); break;
- default: ERROR("%s(), invalid base_address", __FUNCTION__);
+ default: IRDA_ERROR("%s(), invalid base_address", __FUNCTION__);
}
/* Control Signal Routing Register (CSRT) */
@@ -453,7 +453,7 @@ static int nsc_ircc_init_108(nsc_chip_t *chip, chipio_t *info)
case 9: temp = 0x05; break;
case 11: temp = 0x06; break;
case 15: temp = 0x07; break;
- default: ERROR("%s(), invalid irq", __FUNCTION__);
+ default: IRDA_ERROR("%s(), invalid irq", __FUNCTION__);
}
outb(CFG_108_CSRT, cfg_base);
@@ -461,7 +461,7 @@ static int nsc_ircc_init_108(nsc_chip_t *chip, chipio_t *info)
case 0: outb(0x08+temp, cfg_base+1); break;
case 1: outb(0x10+temp, cfg_base+1); break;
case 3: outb(0x18+temp, cfg_base+1); break;
- default: ERROR("%s(), invalid dma", __FUNCTION__);
+ default: IRDA_ERROR("%s(), invalid dma", __FUNCTION__);
}
outb(CFG_108_MCTL, cfg_base); /* Mode Control Register (MCTL) */
@@ -825,7 +825,8 @@ static int nsc_ircc_setup(chipio_t *info)
/* Should be 0x2? */
if (0x20 != (version & 0xf0)) {
- ERROR("%s, Wrong chip version %02x\n", driver_name, version);
+ IRDA_ERROR("%s, Wrong chip version %02x\n",
+ driver_name, version);
return -1;
}
@@ -1089,7 +1090,7 @@ static __u8 nsc_ircc_change_speed(struct nsc_ircc_cb *self, __u32 speed)
IRDA_DEBUG(2, "%s(), speed=%d\n", __FUNCTION__, speed);
- ASSERT(self != NULL, return 0;);
+ IRDA_ASSERT(self != NULL, return 0;);
iobase = self->io.fir_base;
@@ -1197,7 +1198,7 @@ static int nsc_ircc_hard_xmit_sir(struct sk_buff *skb, struct net_device *dev)
self = (struct nsc_ircc_cb *) dev->priv;
- ASSERT(self != NULL, return 0;);
+ IRDA_ASSERT(self != NULL, return 0;);
iobase = self->io.fir_base;
@@ -1702,8 +1703,9 @@ static int nsc_ircc_dma_receive_complete(struct nsc_ircc_cb *self, int iobase)
skb = dev_alloc_skb(len+1);
if (skb == NULL) {
- WARNING("%s(), memory squeeze, "
- "dropping frame.\n", __FUNCTION__);
+ IRDA_WARNING("%s(), memory squeeze, "
+ "dropping frame.\n",
+ __FUNCTION__);
self->stats.rx_dropped++;
/* Restore bank register */
@@ -1889,9 +1891,9 @@ static void nsc_ircc_fir_interrupt(struct nsc_ircc_cb *self, int iobase,
nsc_ircc_dma_receive(self);
self->ier = IER_SFIF_IE;
} else
- WARNING("%s(), potential "
- "Tx queue lockup !\n",
- __FUNCTION__);
+ IRDA_WARNING("%s(), potential "
+ "Tx queue lockup !\n",
+ __FUNCTION__);
}
} else {
/* Not finished yet, so interrupt on DMA again */
@@ -1924,7 +1926,8 @@ static irqreturn_t nsc_ircc_interrupt(int irq, void *dev_id,
int iobase;
if (!dev) {
- WARNING("%s: irq %d for unknown device.\n", driver_name, irq);
+ IRDA_WARNING("%s: irq %d for unknown device.\n",
+ driver_name, irq);
return IRQ_NONE;
}
self = (struct nsc_ircc_cb *) dev->priv;
@@ -1969,7 +1972,7 @@ static int nsc_ircc_is_receiving(struct nsc_ircc_cb *self)
int iobase;
__u8 bank;
- ASSERT(self != NULL, return FALSE;);
+ IRDA_ASSERT(self != NULL, return FALSE;);
spin_lock_irqsave(&self->lock, flags);
@@ -2007,16 +2010,16 @@ static int nsc_ircc_net_open(struct net_device *dev)
IRDA_DEBUG(4, "%s()\n", __FUNCTION__);
- ASSERT(dev != NULL, return -1;);
+ IRDA_ASSERT(dev != NULL, return -1;);
self = (struct nsc_ircc_cb *) dev->priv;
- ASSERT(self != NULL, return 0;);
+ IRDA_ASSERT(self != NULL, return 0;);
iobase = self->io.fir_base;
if (request_irq(self->io.irq, nsc_ircc_interrupt, 0, dev->name, dev)) {
- WARNING("%s, unable to allocate irq=%d\n", driver_name,
- self->io.irq);
+ IRDA_WARNING("%s, unable to allocate irq=%d\n",
+ driver_name, self->io.irq);
return -EAGAIN;
}
/*
@@ -2024,8 +2027,8 @@ static int nsc_ircc_net_open(struct net_device *dev)
* failure.
*/
if (request_dma(self->io.dma, dev->name)) {
- WARNING("%s, unable to allocate dma=%d\n", driver_name,
- self->io.dma);
+ IRDA_WARNING("%s, unable to allocate dma=%d\n",
+ driver_name, self->io.dma);
free_irq(self->io.irq, dev);
return -EAGAIN;
}
@@ -2069,10 +2072,10 @@ static int nsc_ircc_net_close(struct net_device *dev)
IRDA_DEBUG(4, "%s()\n", __FUNCTION__);
- ASSERT(dev != NULL, return -1;);
+ IRDA_ASSERT(dev != NULL, return -1;);
self = (struct nsc_ircc_cb *) dev->priv;
- ASSERT(self != NULL, return 0;);
+ IRDA_ASSERT(self != NULL, return 0;);
/* Stop device */
netif_stop_queue(dev);
@@ -2115,11 +2118,11 @@ static int nsc_ircc_net_ioctl(struct net_device *dev, struct ifreq *rq, int cmd)
unsigned long flags;
int ret = 0;
- ASSERT(dev != NULL, return -1;);
+ IRDA_ASSERT(dev != NULL, return -1;);
self = dev->priv;
- ASSERT(self != NULL, return -1;);
+ IRDA_ASSERT(self != NULL, return -1;);
IRDA_DEBUG(2, "%s(), %s, (cmd=0x%X)\n", __FUNCTION__, dev->name, cmd);
@@ -2159,7 +2162,7 @@ static struct net_device_stats *nsc_ircc_net_get_stats(struct net_device *dev)
static void nsc_ircc_suspend(struct nsc_ircc_cb *self)
{
- MESSAGE("%s, Suspending\n", driver_name);
+ IRDA_MESSAGE("%s, Suspending\n", driver_name);
if (self->io.suspended)
return;
@@ -2177,7 +2180,7 @@ static void nsc_ircc_wakeup(struct nsc_ircc_cb *self)
nsc_ircc_setup(&self->io);
nsc_ircc_net_open(self->netdev);
- MESSAGE("%s, Waking up\n", driver_name);
+ IRDA_MESSAGE("%s, Waking up\n", driver_name);
self->io.suspended = 0;
}
diff --git a/drivers/net/irda/sir_dev.c b/drivers/net/irda/sir_dev.c
index c819ae54d0d0..efc5a8870565 100644
--- a/drivers/net/irda/sir_dev.c
+++ b/drivers/net/irda/sir_dev.c
@@ -154,7 +154,8 @@ void sirdev_write_complete(struct sir_dev *dev)
}
else if (unlikely(actual<0)) {
/* could be dropped later when we have tx_timeout to recover */
- ERROR("%s: drv->do_write failed (%d)\n", __FUNCTION__, actual);
+ IRDA_ERROR("%s: drv->do_write failed (%d)\n",
+ __FUNCTION__, actual);
if ((skb=dev->tx_skb) != NULL) {
dev->tx_skb = NULL;
dev_kfree_skb_any(skb);
@@ -208,7 +209,8 @@ void sirdev_write_complete(struct sir_dev *dev)
/* should never happen
* forget the speed change and hope the stack recovers
*/
- ERROR("%s - schedule speed change failed: %d\n", __FUNCTION__, err);
+ IRDA_ERROR("%s - schedule speed change failed: %d\n",
+ __FUNCTION__, err);
netif_wake_queue(dev->netdev);
}
/* else: success
@@ -234,13 +236,13 @@ done:
int sirdev_receive(struct sir_dev *dev, const unsigned char *cp, size_t count)
{
if (!dev || !dev->netdev) {
- WARNING("%s(), not ready yet!\n", __FUNCTION__);
+ IRDA_WARNING("%s(), not ready yet!\n", __FUNCTION__);
return -1;
}
if (!dev->irlap) {
- WARNING("%s - too early: %p / %zd!\n",
- __FUNCTION__, cp, count);
+ IRDA_WARNING("%s - too early: %p / %zd!\n",
+ __FUNCTION__, cp, count);
return -1;
}
@@ -297,7 +299,7 @@ static int sirdev_hard_xmit(struct sk_buff *skb, struct net_device *ndev)
int err;
s32 speed;
- ASSERT(dev != NULL, return 0;);
+ IRDA_ASSERT(dev != NULL, return 0;);
netif_stop_queue(ndev);
@@ -366,7 +368,8 @@ static int sirdev_hard_xmit(struct sk_buff *skb, struct net_device *ndev)
}
else if (unlikely(actual < 0)) {
/* could be dropped later when we have tx_timeout to recover */
- ERROR("%s: drv->do_write failed (%d)\n", __FUNCTION__, actual);
+ IRDA_ERROR("%s: drv->do_write failed (%d)\n",
+ __FUNCTION__, actual);
dev_kfree_skb_any(skb);
dev->stats.tx_errors++;
dev->stats.tx_dropped++;
@@ -385,7 +388,7 @@ static int sirdev_ioctl(struct net_device *ndev, struct ifreq *rq, int cmd)
struct sir_dev *dev = ndev->priv;
int ret = 0;
- ASSERT(dev != NULL, return -1;);
+ IRDA_ASSERT(dev != NULL, return -1;);
IRDA_DEBUG(3, "%s(), %s, (cmd=0x%X)\n", __FUNCTION__, ndev->name, cmd);
@@ -593,7 +596,7 @@ struct sir_dev * sirdev_get_instance(const struct sir_driver *drv, const char *n
*/
ndev = alloc_irdadev(sizeof(*dev));
if (ndev == NULL) {
- ERROR("%s - Can't allocate memory for IrDA control block!\n", __FUNCTION__);
+ IRDA_ERROR("%s - Can't allocate memory for IrDA control block!\n", __FUNCTION__);
goto out;
}
dev = ndev->priv;
@@ -628,7 +631,7 @@ struct sir_dev * sirdev_get_instance(const struct sir_driver *drv, const char *n
ndev->do_ioctl = sirdev_ioctl;
if (register_netdev(ndev)) {
- ERROR("%s(), register_netdev() failed!\n", __FUNCTION__);
+ IRDA_ERROR("%s(), register_netdev() failed!\n", __FUNCTION__);
goto out_freenetdev;
}
@@ -654,7 +657,7 @@ int sirdev_put_instance(struct sir_dev *dev)
if (dev->dongle_drv)
err = sirdev_schedule_dongle_close(dev);
if (err)
- ERROR("%s - error %d\n", __FUNCTION__, err);
+ IRDA_ERROR("%s - error %d\n", __FUNCTION__, err);
sirdev_close(dev->netdev);
diff --git a/drivers/net/irda/sir_kthread.c b/drivers/net/irda/sir_kthread.c
index 45b36190151a..18cea1099530 100644
--- a/drivers/net/irda/sir_kthread.c
+++ b/drivers/net/irda/sir_kthread.c
@@ -222,7 +222,7 @@ static int irda_tx_complete_fsm(struct sir_dev *dev)
return 0;
default:
- ERROR("%s - undefined state\n", __FUNCTION__);
+ IRDA_ERROR("%s - undefined state\n", __FUNCTION__);
return -EINVAL;
}
fsm->substate = next_state;
@@ -391,12 +391,12 @@ static void irda_config_fsm(void *data)
break;
default:
- ERROR("%s - undefined state\n", __FUNCTION__);
+ IRDA_ERROR("%s - undefined state\n", __FUNCTION__);
fsm->result = -EINVAL;
/* fall thru */
case SIRDEV_STATE_ERROR:
- ERROR("%s - error: %d\n", __FUNCTION__, fsm->result);
+ IRDA_ERROR("%s - error: %d\n", __FUNCTION__, fsm->result);
#if 0 /* don't enable this before we have netdev->tx_timeout to recover */
netif_stop_queue(dev->netdev);
@@ -439,7 +439,7 @@ int sirdev_schedule_request(struct sir_dev *dev, int initial_state, unsigned par
if (fsm->state == SIRDEV_STATE_DEAD) {
/* race with sirdev_close should never happen */
- ERROR("%s(), instance staled!\n", __FUNCTION__);
+ IRDA_ERROR("%s(), instance staled!\n", __FUNCTION__);
up(&fsm->sem);
return -ESTALE; /* or better EPIPE? */
}
diff --git a/drivers/net/irda/smsc-ircc2.c b/drivers/net/irda/smsc-ircc2.c
index 2a8cbaee751f..10125a1dba22 100644
--- a/drivers/net/irda/smsc-ircc2.c
+++ b/drivers/net/irda/smsc-ircc2.c
@@ -334,8 +334,8 @@ static int __init smsc_ircc_init(void)
dev_count=0;
if ((ircc_fir>0)&&(ircc_sir>0)) {
- MESSAGE(" Overriding FIR address 0x%04x\n", ircc_fir);
- MESSAGE(" Overriding SIR address 0x%04x\n", ircc_sir);
+ IRDA_MESSAGE(" Overriding FIR address 0x%04x\n", ircc_fir);
+ IRDA_MESSAGE(" Overriding SIR address 0x%04x\n", ircc_sir);
if (smsc_ircc_open(ircc_fir, ircc_sir, ircc_dma, ircc_irq) == 0)
return 0;
@@ -345,7 +345,8 @@ static int __init smsc_ircc_init(void)
/* try user provided configuration register base address */
if (ircc_cfg>0) {
- MESSAGE(" Overriding configuration address 0x%04x\n", ircc_cfg);
+ IRDA_MESSAGE(" Overriding configuration address 0x%04x\n",
+ ircc_cfg);
if (!smsc_superio_fdc(ircc_cfg))
ret = 0;
if (!smsc_superio_lpc(ircc_cfg))
@@ -377,7 +378,7 @@ static int __init smsc_ircc_open(unsigned int fir_base, unsigned int sir_base, u
err = -ENOMEM;
if (dev_count > DIM(dev_self)) {
- WARNING("%s(), too many devices!\n", __FUNCTION__);
+ IRDA_WARNING("%s(), too many devices!\n", __FUNCTION__);
goto err_out1;
}
@@ -386,7 +387,7 @@ static int __init smsc_ircc_open(unsigned int fir_base, unsigned int sir_base, u
*/
dev = alloc_irdadev(sizeof(struct smsc_ircc_cb));
if (!dev) {
- WARNING("%s() can't allocate net device\n", __FUNCTION__);
+ IRDA_WARNING("%s() can't allocate net device\n", __FUNCTION__);
goto err_out1;
}
@@ -420,8 +421,8 @@ static int __init smsc_ircc_open(unsigned int fir_base, unsigned int sir_base, u
dma_alloc_coherent(NULL, self->rx_buff.truesize,
&self->rx_buff_dma, GFP_KERNEL);
if (self->rx_buff.head == NULL) {
- ERROR("%s, Can't allocate memory for receive buffer!\n",
- driver_name);
+ IRDA_ERROR("%s, Can't allocate memory for receive buffer!\n",
+ driver_name);
goto err_out2;
}
@@ -429,8 +430,8 @@ static int __init smsc_ircc_open(unsigned int fir_base, unsigned int sir_base, u
dma_alloc_coherent(NULL, self->tx_buff.truesize,
&self->tx_buff_dma, GFP_KERNEL);
if (self->tx_buff.head == NULL) {
- ERROR("%s, Can't allocate memory for transmit buffer!\n",
- driver_name);
+ IRDA_ERROR("%s, Can't allocate memory for transmit buffer!\n",
+ driver_name);
goto err_out3;
}
@@ -456,8 +457,8 @@ static int __init smsc_ircc_open(unsigned int fir_base, unsigned int sir_base, u
err = register_netdev(self->netdev);
if(err) {
- ERROR("%s, Network device registration failed!\n",
- driver_name);
+ IRDA_ERROR("%s, Network device registration failed!\n",
+ driver_name);
goto err_out4;
}
@@ -465,7 +466,7 @@ static int __init smsc_ircc_open(unsigned int fir_base, unsigned int sir_base, u
if (self->pmdev)
self->pmdev->data = self;
- MESSAGE("IrDA: Registered device %s\n", dev->name);
+ IRDA_MESSAGE("IrDA: Registered device %s\n", dev->name);
return 0;
err_out4:
@@ -496,15 +497,15 @@ static int smsc_ircc_present(unsigned int fir_base, unsigned int sir_base)
if (!request_region(fir_base, SMSC_IRCC2_FIR_CHIP_IO_EXTENT,
driver_name)) {
- WARNING("%s: can't get fir_base of 0x%03x\n",
- __FUNCTION__, fir_base);
+ IRDA_WARNING("%s: can't get fir_base of 0x%03x\n",
+ __FUNCTION__, fir_base);
goto out1;
}
if (!request_region(sir_base, SMSC_IRCC2_SIR_CHIP_IO_EXTENT,
driver_name)) {
- WARNING("%s: can't get sir_base of 0x%03x\n",
- __FUNCTION__, sir_base);
+ IRDA_WARNING("%s: can't get sir_base of 0x%03x\n",
+ __FUNCTION__, sir_base);
goto out2;
}
@@ -519,13 +520,13 @@ static int smsc_ircc_present(unsigned int fir_base, unsigned int sir_base)
irq = (config & IRCC_INTERFACE_IRQ_MASK) >> 4;
if (high != 0x10 || low != 0xb8 || (chip != 0xf1 && chip != 0xf2)) {
- WARNING("%s(), addr 0x%04x - no device found!\n",
- __FUNCTION__, fir_base);
+ IRDA_WARNING("%s(), addr 0x%04x - no device found!\n",
+ __FUNCTION__, fir_base);
goto out3;
}
- MESSAGE("SMsC IrDA Controller found\n IrCC version %d.%d, "
- "firport 0x%03x, sirport 0x%03x dma=%d, irq=%d\n",
- chip & 0x0f, version, fir_base, sir_base, dma, irq);
+ IRDA_MESSAGE("SMsC IrDA Controller found\n IrCC version %d.%d, "
+ "firport 0x%03x, sirport 0x%03x dma=%d, irq=%d\n",
+ chip & 0x0f, version, fir_base, sir_base, dma, irq);
return 0;
out3:
@@ -562,8 +563,8 @@ static void smsc_ircc_setup_io(struct smsc_ircc_cb *self,
if (irq < 255) {
if (irq != chip_irq)
- MESSAGE("%s, Overriding IRQ - chip says %d, using %d\n",
- driver_name, chip_irq, irq);
+ IRDA_MESSAGE("%s, Overriding IRQ - chip says %d, using %d\n",
+ driver_name, chip_irq, irq);
self->io.irq = irq;
}
else
@@ -571,8 +572,8 @@ static void smsc_ircc_setup_io(struct smsc_ircc_cb *self,
if (dma < 255) {
if (dma != chip_dma)
- MESSAGE("%s, Overriding DMA - chip says %d, using %d\n",
- driver_name, chip_dma, dma);
+ IRDA_MESSAGE("%s, Overriding DMA - chip says %d, using %d\n",
+ driver_name, chip_dma, dma);
self->io.dma = dma;
}
else
@@ -609,7 +610,7 @@ static void smsc_ircc_init_chip(struct smsc_ircc_cb *self)
{
int iobase, ir_mode, ctrl, fast;
- ASSERT( self != NULL, return; );
+ IRDA_ASSERT( self != NULL, return; );
iobase = self->io.fir_base;
ir_mode = IRCC_CFGA_IRDA_SIR_A;
@@ -659,11 +660,11 @@ static int smsc_ircc_net_ioctl(struct net_device *dev, struct ifreq *rq, int cmd
unsigned long flags;
int ret = 0;
- ASSERT(dev != NULL, return -1;);
+ IRDA_ASSERT(dev != NULL, return -1;);
self = dev->priv;
- ASSERT(self != NULL, return -1;);
+ IRDA_ASSERT(self != NULL, return -1;);
IRDA_DEBUG(2, "%s(), %s, (cmd=0x%X)\n", __FUNCTION__, dev->name, cmd);
@@ -728,7 +729,8 @@ static void smsc_ircc_timeout(struct net_device *dev)
self = (struct smsc_ircc_cb *) dev->priv;
- WARNING("%s: transmit timed out, changing speed to: %d\n", dev->name, self->io.speed);
+ IRDA_WARNING("%s: transmit timed out, changing speed to: %d\n",
+ dev->name, self->io.speed);
spin_lock_irqsave(&self->lock, flags);
smsc_ircc_sir_start(self);
smsc_ircc_change_speed(self, self->io.speed);
@@ -754,10 +756,10 @@ int smsc_ircc_hard_xmit_sir(struct sk_buff *skb, struct net_device *dev)
IRDA_DEBUG(1, "%s\n", __FUNCTION__);
- ASSERT(dev != NULL, return 0;);
+ IRDA_ASSERT(dev != NULL, return 0;);
self = (struct smsc_ircc_cb *) dev->priv;
- ASSERT(self != NULL, return 0;);
+ IRDA_ASSERT(self != NULL, return 0;);
iobase = self->io.sir_base;
@@ -819,7 +821,7 @@ static void smsc_ircc_set_fir_speed(struct smsc_ircc_cb *self, u32 speed)
{
int fir_base, ir_mode, ctrl, fast;
- ASSERT(self != NULL, return;);
+ IRDA_ASSERT(self != NULL, return;);
fir_base = self->io.fir_base;
self->io.speed = speed;
@@ -874,9 +876,9 @@ static void smsc_ircc_fir_start(struct smsc_ircc_cb *self)
IRDA_DEBUG(1, "%s\n", __FUNCTION__);
- ASSERT(self != NULL, return;);
+ IRDA_ASSERT(self != NULL, return;);
dev = self->netdev;
- ASSERT(dev != NULL, return;);
+ IRDA_ASSERT(dev != NULL, return;);
fir_base = self->io.fir_base;
@@ -922,7 +924,7 @@ static void smsc_ircc_fir_stop(struct smsc_ircc_cb *self)
IRDA_DEBUG(1, "%s\n", __FUNCTION__);
- ASSERT(self != NULL, return;);
+ IRDA_ASSERT(self != NULL, return;);
fir_base = self->io.fir_base;
register_bank(fir_base, 0);
@@ -948,7 +950,7 @@ static void smsc_ircc_change_speed(void *priv, u32 speed)
IRDA_DEBUG(0, "%s() changing speed to: %d\n", __FUNCTION__, speed);
- ASSERT(self != NULL, return;);
+ IRDA_ASSERT(self != NULL, return;);
dev = self->netdev;
iobase = self->io.fir_base;
@@ -1018,7 +1020,7 @@ void smsc_ircc_set_sir_speed(void *priv, __u32 speed)
IRDA_DEBUG(0, "%s(), Setting speed to: %d\n", __FUNCTION__, speed);
- ASSERT(self != NULL, return;);
+ IRDA_ASSERT(self != NULL, return;);
iobase = self->io.sir_base;
/* Update accounting for new speed */
@@ -1071,9 +1073,9 @@ static int smsc_ircc_hard_xmit_fir(struct sk_buff *skb, struct net_device *dev)
int iobase;
int mtt;
- ASSERT(dev != NULL, return 0;);
+ IRDA_ASSERT(dev != NULL, return 0;);
self = (struct smsc_ircc_cb *) dev->priv;
- ASSERT(self != NULL, return 0;);
+ IRDA_ASSERT(self != NULL, return 0;);
iobase = self->io.fir_base;
@@ -1325,15 +1327,15 @@ static void smsc_ircc_dma_receive_complete(struct smsc_ircc_cb *self, int iobase
len -= 4;
if ((len < 2) || (len > 2050)) {
- WARNING("%s(), bogus len=%d\n", __FUNCTION__, len);
+ IRDA_WARNING("%s(), bogus len=%d\n", __FUNCTION__, len);
return;
}
IRDA_DEBUG(2, "%s: msgcnt = %d, len=%d\n", __FUNCTION__, msgcnt, len);
skb = dev_alloc_skb(len+1);
if (!skb) {
- WARNING("%s(), memory squeeze, dropping frame.\n",
- __FUNCTION__);
+ IRDA_WARNING("%s(), memory squeeze, dropping frame.\n",
+ __FUNCTION__);
return;
}
/* Make sure IP header gets aligned */
@@ -1360,7 +1362,7 @@ static void smsc_ircc_sir_receive(struct smsc_ircc_cb *self)
int boguscount = 0;
int iobase;
- ASSERT(self != NULL, return;);
+ IRDA_ASSERT(self != NULL, return;);
iobase = self->io.sir_base;
@@ -1400,7 +1402,7 @@ static irqreturn_t smsc_ircc_interrupt(int irq, void *dev_id, struct pt_regs *re
goto irq_ret;
}
self = (struct smsc_ircc_cb *) dev->priv;
- ASSERT(self != NULL, return IRQ_NONE;);
+ IRDA_ASSERT(self != NULL, return IRQ_NONE;);
/* Serialise the interrupt handler in various CPUs, stop Tx path */
spin_lock(&self->lock);
@@ -1521,7 +1523,7 @@ static int ircc_is_receiving(struct smsc_ircc_cb *self)
IRDA_DEBUG(1, "%s\n", __FUNCTION__);
- ASSERT(self != NULL, return FALSE;);
+ IRDA_ASSERT(self != NULL, return FALSE;);
IRDA_DEBUG(0, "%s: dma count = %d\n", __FUNCTION__,
get_dma_residue(self->io.dma));
@@ -1548,9 +1550,9 @@ static int smsc_ircc_net_open(struct net_device *dev)
IRDA_DEBUG(1, "%s\n", __FUNCTION__);
- ASSERT(dev != NULL, return -1;);
+ IRDA_ASSERT(dev != NULL, return -1;);
self = (struct smsc_ircc_cb *) dev->priv;
- ASSERT(self != NULL, return 0;);
+ IRDA_ASSERT(self != NULL, return 0;);
iobase = self->io.fir_base;
@@ -1584,8 +1586,8 @@ static int smsc_ircc_net_open(struct net_device *dev)
if (request_dma(self->io.dma, dev->name)) {
smsc_ircc_net_close(dev);
- WARNING("%s(), unable to allocate DMA=%d\n",
- __FUNCTION__, self->io.dma);
+ IRDA_WARNING("%s(), unable to allocate DMA=%d\n",
+ __FUNCTION__, self->io.dma);
return -EAGAIN;
}
@@ -1607,9 +1609,9 @@ static int smsc_ircc_net_close(struct net_device *dev)
IRDA_DEBUG(1, "%s\n", __FUNCTION__);
- ASSERT(dev != NULL, return -1;);
+ IRDA_ASSERT(dev != NULL, return -1;);
self = (struct smsc_ircc_cb *) dev->priv;
- ASSERT(self != NULL, return 0;);
+ IRDA_ASSERT(self != NULL, return 0;);
iobase = self->io.fir_base;
@@ -1633,7 +1635,7 @@ static int smsc_ircc_net_close(struct net_device *dev)
static void smsc_ircc_suspend(struct smsc_ircc_cb *self)
{
- MESSAGE("%s, Suspending\n", driver_name);
+ IRDA_MESSAGE("%s, Suspending\n", driver_name);
if (self->io.suspended)
return;
@@ -1654,7 +1656,7 @@ static void smsc_ircc_wakeup(struct smsc_ircc_cb *self)
smsc_ircc_net_open(self->netdev);
- MESSAGE("%s, Waking up\n", driver_name);
+ IRDA_MESSAGE("%s, Waking up\n", driver_name);
}
static int smsc_ircc_pmproc(struct pm_dev *dev, pm_request_t rqst, void *data)
@@ -1686,7 +1688,7 @@ static int __exit smsc_ircc_close(struct smsc_ircc_cb *self)
IRDA_DEBUG(1, "%s\n", __FUNCTION__);
- ASSERT(self != NULL, return -1;);
+ IRDA_ASSERT(self != NULL, return -1;);
iobase = self->io.fir_base;
@@ -1761,9 +1763,9 @@ void smsc_ircc_sir_start(struct smsc_ircc_cb *self)
IRDA_DEBUG(3, "%s\n", __FUNCTION__);
- ASSERT(self != NULL, return;);
+ IRDA_ASSERT(self != NULL, return;);
dev= self->netdev;
- ASSERT(dev != NULL, return;);
+ IRDA_ASSERT(dev != NULL, return;);
dev->hard_start_xmit = &smsc_ircc_hard_xmit_sir;
fir_base = self->io.fir_base;
@@ -1820,7 +1822,7 @@ static void smsc_ircc_sir_write_wakeup(struct smsc_ircc_cb *self)
int iobase;
int fcr;
- ASSERT(self != NULL, return;);
+ IRDA_ASSERT(self != NULL, return;);
IRDA_DEBUG(4, "%s\n", __FUNCTION__);
@@ -1885,7 +1887,7 @@ static int smsc_ircc_sir_write(int iobase, int fifo_size, __u8 *buf, int len)
/* Tx FIFO should be empty! */
if (!(inb(iobase+UART_LSR) & UART_LSR_THRE)) {
- WARNING("%s(), failed, fifo not empty!\n", __FUNCTION__);
+ IRDA_WARNING("%s(), failed, fifo not empty!\n", __FUNCTION__);
return 0;
}
@@ -1920,15 +1922,17 @@ static void smsc_ircc_probe_transceiver(struct smsc_ircc_cb *self)
{
unsigned int i;
- ASSERT(self != NULL, return;);
+ IRDA_ASSERT(self != NULL, return;);
for(i=0; smsc_transceivers[i].name!=NULL; i++)
if((*smsc_transceivers[i].probe)(self->io.fir_base)) {
- MESSAGE(" %s transceiver found\n", smsc_transceivers[i].name);
+ IRDA_MESSAGE(" %s transceiver found\n",
+ smsc_transceivers[i].name);
self->transceiver= i+1;
return;
}
- MESSAGE("No transceiver found. Defaulting to %s\n", smsc_transceivers[SMSC_IRCC2_C_DEFAULT_TRANSCEIVER].name);
+ IRDA_MESSAGE("No transceiver found. Defaulting to %s\n",
+ smsc_transceivers[SMSC_IRCC2_C_DEFAULT_TRANSCEIVER].name);
self->transceiver= SMSC_IRCC2_C_DEFAULT_TRANSCEIVER;
}
@@ -2052,7 +2056,7 @@ static int __init smsc_superio_flat(const smsc_chip_t *chips, unsigned short cfg
/*printk(KERN_WARNING "%s(): mode: 0x%02x\n", __FUNCTION__, mode);*/
if(!(mode & SMSCSIOFLAT_UART2MODE_VAL_IRDA))
- WARNING("%s(): IrDA not enabled\n", __FUNCTION__);
+ IRDA_WARNING("%s(): IrDA not enabled\n", __FUNCTION__);
outb(SMSCSIOFLAT_UART2BASEADDR_REG, cfgbase);
sirbase = inb(cfgbase+1) << 2;
@@ -2069,7 +2073,7 @@ static int __init smsc_superio_flat(const smsc_chip_t *chips, unsigned short cfg
outb(SMSCSIOFLAT_UARTIRQSELECT_REG, cfgbase);
irq = inb(cfgbase+1) & SMSCSIOFLAT_UART2IRQSELECT_MASK;
- MESSAGE("%s(): fir: 0x%02x, sir: 0x%02x, dma: %02d, irq: %d, mode: 0x%02x\n", __FUNCTION__, firbase, sirbase, dma, irq, mode);
+ IRDA_MESSAGE("%s(): fir: 0x%02x, sir: 0x%02x, dma: %02d, irq: %d, mode: 0x%02x\n", __FUNCTION__, firbase, sirbase, dma, irq, mode);
if (firbase) {
if (smsc_ircc_open(firbase, sirbase, dma, irq) == 0)
@@ -2201,15 +2205,15 @@ static const smsc_chip_t * __init smsc_ircc_probe(unsigned short cfg_base,u8 reg
return NULL;
}
- MESSAGE("found SMC SuperIO Chip (devid=0x%02x rev=%02X base=0x%04x): %s%s\n",devid,rev,cfg_base,type,chip->name);
+ IRDA_MESSAGE("found SMC SuperIO Chip (devid=0x%02x rev=%02X base=0x%04x): %s%s\n",devid,rev,cfg_base,type,chip->name);
if (chip->rev>rev){
- MESSAGE("Revision higher than expected\n");
+ IRDA_MESSAGE("Revision higher than expected\n");
return NULL;
}
if (chip->flags&NoIRDA)
- MESSAGE("chipset does not support IRDA\n");
+ IRDA_MESSAGE("chipset does not support IRDA\n");
return chip;
}
@@ -2219,8 +2223,8 @@ static int __init smsc_superio_fdc(unsigned short cfg_base)
int ret = -1;
if (!request_region(cfg_base, 2, driver_name)) {
- WARNING("%s: can't get cfg_base of 0x%03x\n",
- __FUNCTION__, cfg_base);
+ IRDA_WARNING("%s: can't get cfg_base of 0x%03x\n",
+ __FUNCTION__, cfg_base);
} else {
if (!smsc_superio_flat(fdc_chips_flat,cfg_base,"FDC")
||!smsc_superio_paged(fdc_chips_paged,cfg_base,"FDC"))
@@ -2237,8 +2241,8 @@ static int __init smsc_superio_lpc(unsigned short cfg_base)
int ret = -1;
if (!request_region(cfg_base, 2, driver_name)) {
- WARNING("%s: can't get cfg_base of 0x%03x\n",
- __FUNCTION__, cfg_base);
+ IRDA_WARNING("%s: can't get cfg_base of 0x%03x\n",
+ __FUNCTION__, cfg_base);
} else {
if (!smsc_superio_flat(lpc_chips_flat,cfg_base,"LPC")
||!smsc_superio_paged(lpc_chips_paged,cfg_base,"LPC"))
@@ -2275,8 +2279,8 @@ static void smsc_ircc_set_transceiver_smsc_ircc_atc(int fir_base, u32 speed)
outb((inb(fir_base+IRCC_ATC) & IRCC_ATC_MASK) |IRCC_ATC_nPROGREADY|IRCC_ATC_ENABLE, fir_base+IRCC_ATC);
while((val=(inb(fir_base+IRCC_ATC) & IRCC_ATC_nPROGREADY)) && !time_after(jiffies, jiffies_timeout));
if(val)
- WARNING("%s(): ATC: 0x%02x\n", __FUNCTION__,
- inb(fir_base+IRCC_ATC));
+ IRDA_WARNING("%s(): ATC: 0x%02x\n", __FUNCTION__,
+ inb(fir_base+IRCC_ATC));
}
/*
diff --git a/drivers/net/irda/tekram-sir.c b/drivers/net/irda/tekram-sir.c
index a455b00c0e0e..0dd6bc7af3f2 100644
--- a/drivers/net/irda/tekram-sir.c
+++ b/drivers/net/irda/tekram-sir.c
@@ -179,7 +179,7 @@ static int tekram_change_speed(struct sir_dev *dev, unsigned speed)
break;
default:
- ERROR("%s - undefined state %d\n", __FUNCTION__, state);
+ IRDA_ERROR("%s - undefined state %d\n", __FUNCTION__, state);
ret = -EINVAL;
break;
}
diff --git a/drivers/net/irda/tekram.c b/drivers/net/irda/tekram.c
index d0de866fd9c5..8f6258221cb0 100644
--- a/drivers/net/irda/tekram.c
+++ b/drivers/net/irda/tekram.c
@@ -109,7 +109,7 @@ static int tekram_change_speed(struct irda_task *task)
IRDA_DEBUG(2, "%s()\n", __FUNCTION__ );
- ASSERT(task != NULL, return -1;);
+ IRDA_ASSERT(task != NULL, return -1;);
if (self->speed_task && self->speed_task != task) {
IRDA_DEBUG(0, "%s(), busy!\n", __FUNCTION__ );
@@ -155,7 +155,8 @@ static int tekram_change_speed(struct irda_task *task)
irda_task_next_state(task, IRDA_TASK_CHILD_DONE);
break;
case IRDA_TASK_CHILD_WAIT:
- WARNING("%s(), resetting dongle timed out!\n", __FUNCTION__);
+ IRDA_WARNING("%s(), resetting dongle timed out!\n",
+ __FUNCTION__);
ret = -1;
break;
case IRDA_TASK_CHILD_DONE:
@@ -181,7 +182,8 @@ static int tekram_change_speed(struct irda_task *task)
self->speed_task = NULL;
break;
default:
- ERROR("%s(), unknown state %d\n", __FUNCTION__, task->state);
+ IRDA_ERROR("%s(), unknown state %d\n",
+ __FUNCTION__, task->state);
irda_task_next_state(task, IRDA_TASK_DONE);
self->speed_task = NULL;
ret = -1;
@@ -210,7 +212,7 @@ int tekram_reset(struct irda_task *task)
IRDA_DEBUG(2, "%s()\n", __FUNCTION__ );
- ASSERT(task != NULL, return -1;);
+ IRDA_ASSERT(task != NULL, return -1;);
if (self->reset_task && self->reset_task != task) {
IRDA_DEBUG(0, "%s(), busy!\n", __FUNCTION__ );
@@ -249,7 +251,8 @@ int tekram_reset(struct irda_task *task)
self->reset_task = NULL;
break;
default:
- ERROR("%s(), unknown state %d\n", __FUNCTION__, task->state);
+ IRDA_ERROR("%s(), unknown state %d\n",
+ __FUNCTION__, task->state);
irda_task_next_state(task, IRDA_TASK_DONE);
self->reset_task = NULL;
ret = -1;
diff --git a/drivers/net/irda/via-ircc.c b/drivers/net/irda/via-ircc.c
index 96a078bbe887..8bafb455c102 100644
--- a/drivers/net/irda/via-ircc.c
+++ b/drivers/net/irda/via-ircc.c
@@ -441,7 +441,7 @@ static __devinit int via_ircc_open(int i, chipio_t * info, unsigned int id)
if (err)
goto err_out4;
- MESSAGE("IrDA: Registered device %s (via-ircc)\n", dev->name);
+ IRDA_MESSAGE("IrDA: Registered device %s (via-ircc)\n", dev->name);
/* Initialise the hardware..
*/
@@ -474,7 +474,7 @@ static int via_ircc_close(struct via_ircc_cb *self)
IRDA_DEBUG(3, "%s()\n", __FUNCTION__);
- ASSERT(self != NULL, return -1;);
+ IRDA_ASSERT(self != NULL, return -1;);
iobase = self->io.fir_base;
@@ -565,7 +565,7 @@ static int via_ircc_read_dongle_id(int iobase)
{
int dongle_id = 9; /* Default to IBM */
- ERROR("via-ircc: dongle probing not supported, please specify dongle_id module parameter.\n");
+ IRDA_ERROR("via-ircc: dongle probing not supported, please specify dongle_id module parameter.\n");
return dongle_id;
}
@@ -707,8 +707,8 @@ static void via_ircc_change_dongle_speed(int iobase, int speed,
break;
default:
- ERROR("%s: Error: dongle_id %d unsupported !\n",
- __FUNCTION__, dongle_id);
+ IRDA_ERROR("%s: Error: dongle_id %d unsupported !\n",
+ __FUNCTION__, dongle_id);
}
}
@@ -826,7 +826,7 @@ static int via_ircc_hard_xmit_sir(struct sk_buff *skb,
__u32 speed;
self = (struct via_ircc_cb *) dev->priv;
- ASSERT(self != NULL, return 0;);
+ IRDA_ASSERT(self != NULL, return 0;);
iobase = self->io.fir_base;
netif_stop_queue(dev);
@@ -1351,8 +1351,8 @@ static irqreturn_t via_ircc_interrupt(int irq, void *dev_id,
u8 iHostIntType, iRxIntType, iTxIntType;
if (!dev) {
- WARNING("%s: irq %d for unknown device.\n", driver_name,
- irq);
+ IRDA_WARNING("%s: irq %d for unknown device.\n", driver_name,
+ irq);
return IRQ_NONE;
}
self = (struct via_ircc_cb *) dev->priv;
@@ -1498,7 +1498,7 @@ static int via_ircc_is_receiving(struct via_ircc_cb *self)
int status = FALSE;
int iobase;
- ASSERT(self != NULL, return FALSE;);
+ IRDA_ASSERT(self != NULL, return FALSE;);
iobase = self->io.fir_base;
if (CkRxRecv(iobase, self))
@@ -1524,14 +1524,14 @@ static int via_ircc_net_open(struct net_device *dev)
IRDA_DEBUG(3, "%s()\n", __FUNCTION__);
- ASSERT(dev != NULL, return -1;);
+ IRDA_ASSERT(dev != NULL, return -1;);
self = (struct via_ircc_cb *) dev->priv;
self->stats.rx_packets = 0;
- ASSERT(self != NULL, return 0;);
+ IRDA_ASSERT(self != NULL, return 0;);
iobase = self->io.fir_base;
if (request_irq(self->io.irq, via_ircc_interrupt, 0, dev->name, dev)) {
- WARNING("%s, unable to allocate irq=%d\n", driver_name,
- self->io.irq);
+ IRDA_WARNING("%s, unable to allocate irq=%d\n", driver_name,
+ self->io.irq);
return -EAGAIN;
}
/*
@@ -1539,15 +1539,15 @@ static int via_ircc_net_open(struct net_device *dev)
* failure.
*/
if (request_dma(self->io.dma, dev->name)) {
- WARNING("%s, unable to allocate dma=%d\n", driver_name,
- self->io.dma);
+ IRDA_WARNING("%s, unable to allocate dma=%d\n", driver_name,
+ self->io.dma);
free_irq(self->io.irq, self);
return -EAGAIN;
}
if (self->io.dma2 != self->io.dma) {
if (request_dma(self->io.dma2, dev->name)) {
- WARNING("%s, unable to allocate dma2=%d\n",
- driver_name, self->io.dma2);
+ IRDA_WARNING("%s, unable to allocate dma2=%d\n",
+ driver_name, self->io.dma2);
free_irq(self->io.irq, self);
return -EAGAIN;
}
@@ -1590,9 +1590,9 @@ static int via_ircc_net_close(struct net_device *dev)
IRDA_DEBUG(3, "%s()\n", __FUNCTION__);
- ASSERT(dev != NULL, return -1;);
+ IRDA_ASSERT(dev != NULL, return -1;);
self = (struct via_ircc_cb *) dev->priv;
- ASSERT(self != NULL, return 0;);
+ IRDA_ASSERT(self != NULL, return 0;);
/* Stop device */
netif_stop_queue(dev);
@@ -1627,9 +1627,9 @@ static int via_ircc_net_ioctl(struct net_device *dev, struct ifreq *rq,
unsigned long flags;
int ret = 0;
- ASSERT(dev != NULL, return -1;);
+ IRDA_ASSERT(dev != NULL, return -1;);
self = dev->priv;
- ASSERT(self != NULL, return -1;);
+ IRDA_ASSERT(self != NULL, return -1;);
IRDA_DEBUG(1, "%s(), %s, (cmd=0x%X)\n", __FUNCTION__, dev->name,
cmd);
/* Disable interrupts & save flags */
diff --git a/drivers/net/irda/vlsi_ir.c b/drivers/net/irda/vlsi_ir.c
index f7cd2269490c..35fad8171a01 100644
--- a/drivers/net/irda/vlsi_ir.c
+++ b/drivers/net/irda/vlsi_ir.c
@@ -435,8 +435,8 @@ static struct vlsi_ring *vlsi_alloc_ring(struct pci_dev *pdev, struct ring_descr
if (rd->buf == NULL
|| !(busaddr = pci_map_single(pdev, rd->buf, len, dir))) {
if (rd->buf) {
- ERROR("%s: failed to create PCI-MAP for %p",
- __FUNCTION__, rd->buf);
+ IRDA_ERROR("%s: failed to create PCI-MAP for %p",
+ __FUNCTION__, rd->buf);
kfree(rd->buf);
rd->buf = NULL;
}
@@ -490,7 +490,8 @@ static int vlsi_create_hwif(vlsi_irda_dev_t *idev)
ringarea = pci_alloc_consistent(idev->pdev, HW_RING_AREA_SIZE, &idev->busaddr);
if (!ringarea) {
- ERROR("%s: insufficient memory for descriptor rings\n", __FUNCTION__);
+ IRDA_ERROR("%s: insufficient memory for descriptor rings\n",
+ __FUNCTION__);
goto out;
}
memset(ringarea, 0, HW_RING_AREA_SIZE);
@@ -587,7 +588,7 @@ static int vlsi_process_rx(struct vlsi_ring *r, struct ring_descr *rd)
}
if (!rd->skb) {
- WARNING("%s: rx packet lost\n", __FUNCTION__);
+ IRDA_WARNING("%s: rx packet lost\n", __FUNCTION__);
ret |= VLSI_RX_DROP;
goto done;
}
@@ -617,8 +618,8 @@ static void vlsi_fill_rx(struct vlsi_ring *r)
for (rd = ring_last(r); rd != NULL; rd = ring_put(r)) {
if (rd_is_active(rd)) {
- WARNING("%s: driver bug: rx descr race with hw\n",
- __FUNCTION__);
+ IRDA_WARNING("%s: driver bug: rx descr race with hw\n",
+ __FUNCTION__);
vlsi_ring_debug(r);
break;
}
@@ -677,7 +678,7 @@ static void vlsi_rx_interrupt(struct net_device *ndev)
if (ring_first(r) == NULL) {
/* we are in big trouble, if this should ever happen */
- ERROR("%s: rx ring exhausted!\n", __FUNCTION__);
+ IRDA_ERROR("%s: rx ring exhausted!\n", __FUNCTION__);
vlsi_ring_debug(r);
}
else
@@ -789,8 +790,8 @@ static int vlsi_set_baud(vlsi_irda_dev_t *idev, unsigned iobase)
config = IRCFG_SIR | IRCFG_SIRFILT | IRCFG_RXANY;
switch(baudrate) {
default:
- WARNING("%s: undefined baudrate %d - fallback to 9600!\n",
- __FUNCTION__, baudrate);
+ IRDA_WARNING("%s: undefined baudrate %d - fallback to 9600!\n",
+ __FUNCTION__, baudrate);
baudrate = 9600;
/* fallthru */
case 2400:
@@ -831,14 +832,14 @@ static int vlsi_set_baud(vlsi_irda_dev_t *idev, unsigned iobase)
config ^= IRENABLE_SIR_ON;
if (config != (IRENABLE_PHYANDCLOCK|IRENABLE_ENRXST)) {
- WARNING("%s: failed to set %s mode!\n", __FUNCTION__,
+ IRDA_WARNING("%s: failed to set %s mode!\n", __FUNCTION__,
(mode==IFF_SIR)?"SIR":((mode==IFF_MIR)?"MIR":"FIR"));
ret = -1;
}
else {
if (inw(iobase+VLSI_PIO_PHYCTL) != nphyctl) {
- WARNING("%s: failed to apply baudrate %d\n",
- __FUNCTION__, baudrate);
+ IRDA_WARNING("%s: failed to apply baudrate %d\n",
+ __FUNCTION__, baudrate);
ret = -1;
}
else {
@@ -982,8 +983,8 @@ static int vlsi_hard_start_xmit(struct sk_buff *skb, struct net_device *ndev)
*/
if (len >= r->len-5)
- WARNING("%s: possible buffer overflow with SIR wrapping!\n",
- __FUNCTION__);
+ IRDA_WARNING("%s: possible buffer overflow with SIR wrapping!\n",
+ __FUNCTION__);
}
else {
/* hw deals with MIR/FIR mode wrapping */
@@ -1050,7 +1051,7 @@ static int vlsi_hard_start_xmit(struct sk_buff *skb, struct net_device *ndev)
drop_unlock:
spin_unlock_irqrestore(&idev->lock, flags);
drop:
- WARNING("%s: dropping packet - %s\n", __FUNCTION__, msg);
+ IRDA_WARNING("%s: dropping packet - %s\n", __FUNCTION__, msg);
dev_kfree_skb_any(skb);
idev->stats.tx_errors++;
idev->stats.tx_dropped++;
@@ -1188,7 +1189,8 @@ static int vlsi_start_clock(struct pci_dev *pdev)
}
if (count < 3) {
if (clksrc == 1) { /* explicitly asked for PLL hence bail out */
- ERROR("%s: no PLL or failed to lock!\n", __FUNCTION__);
+ IRDA_ERROR("%s: no PLL or failed to lock!\n",
+ __FUNCTION__);
clkctl = CLKCTL_CLKSTP;
pci_write_config_byte(pdev, VLSI_PCI_CLKCTL, clkctl);
return -1;
@@ -1269,7 +1271,7 @@ static int vlsi_init_chip(struct pci_dev *pdev)
/* start the clock and clean the registers */
if (vlsi_start_clock(pdev)) {
- ERROR("%s: no valid clock source\n", __FUNCTION__);
+ IRDA_ERROR("%s: no valid clock source\n", __FUNCTION__);
return -1;
}
iobase = ndev->base_addr;
@@ -1400,8 +1402,8 @@ static void vlsi_tx_timeout(struct net_device *ndev)
idev->new_baud = idev->baud; /* keep current baudrate */
if (vlsi_start_hw(idev))
- ERROR("%s: failed to restart hw - %s(%s) unusable!\n",
- __FUNCTION__, PCIDEV_NAME(idev->pdev), ndev->name);
+ IRDA_ERROR("%s: failed to restart hw - %s(%s) unusable!\n",
+ __FUNCTION__, PCIDEV_NAME(idev->pdev), ndev->name);
else
netif_start_queue(ndev);
}
@@ -1445,7 +1447,8 @@ static int vlsi_ioctl(struct net_device *ndev, struct ifreq *rq, int cmd)
irq->ifr_receiving = (fifocnt!=0) ? 1 : 0;
break;
default:
- WARNING("%s: notsupp - cmd=%04x\n", __FUNCTION__, cmd);
+ IRDA_WARNING("%s: notsupp - cmd=%04x\n",
+ __FUNCTION__, cmd);
ret = -EOPNOTSUPP;
}
@@ -1490,7 +1493,8 @@ static irqreturn_t vlsi_interrupt(int irq, void *dev_instance,
spin_unlock_irqrestore(&idev->lock,flags);
if (boguscount <= 0)
- MESSAGE("%s: too much work in interrupt!\n", __FUNCTION__);
+ IRDA_MESSAGE("%s: too much work in interrupt!\n",
+ __FUNCTION__);
return IRQ_RETVAL(handled);
}
@@ -1503,7 +1507,7 @@ static int vlsi_open(struct net_device *ndev)
char hwname[32];
if (pci_request_regions(idev->pdev, drivername)) {
- WARNING("%s: io resource busy\n", __FUNCTION__);
+ IRDA_WARNING("%s: io resource busy\n", __FUNCTION__);
goto errout;
}
ndev->base_addr = pci_resource_start(idev->pdev,0);
@@ -1517,7 +1521,8 @@ static int vlsi_open(struct net_device *ndev)
if (request_irq(ndev->irq, vlsi_interrupt, SA_SHIRQ,
drivername, ndev)) {
- WARNING("%s: couldn't get IRQ: %d\n", __FUNCTION__, ndev->irq);
+ IRDA_WARNING("%s: couldn't get IRQ: %d\n",
+ __FUNCTION__, ndev->irq);
goto errout_io;
}
@@ -1538,7 +1543,7 @@ static int vlsi_open(struct net_device *ndev)
netif_start_queue(ndev);
- MESSAGE("%s: device %s operational\n", __FUNCTION__, ndev->name);
+ IRDA_MESSAGE("%s: device %s operational\n", __FUNCTION__, ndev->name);
return 0;
@@ -1572,7 +1577,7 @@ static int vlsi_close(struct net_device *ndev)
pci_release_regions(idev->pdev);
- MESSAGE("%s: device %s stopped\n", __FUNCTION__, ndev->name);
+ IRDA_MESSAGE("%s: device %s stopped\n", __FUNCTION__, ndev->name);
return 0;
}
@@ -1593,7 +1598,7 @@ static int vlsi_irda_init(struct net_device *ndev)
if (pci_set_dma_mask(pdev,DMA_MASK_USED_BY_HW)
|| pci_set_dma_mask(pdev,DMA_MASK_MSTRPAGE)) {
- ERROR("%s: aborting due to PCI BM-DMA address limitations\n", __FUNCTION__);
+ IRDA_ERROR("%s: aborting due to PCI BM-DMA address limitations\n", __FUNCTION__);
return -1;
}
@@ -1640,18 +1645,19 @@ vlsi_irda_probe(struct pci_dev *pdev, const struct pci_device_id *id)
else
pdev->current_state = 0; /* hw must be running now */
- MESSAGE("%s: IrDA PCI controller %s detected\n",
- drivername, PCIDEV_NAME(pdev));
+ IRDA_MESSAGE("%s: IrDA PCI controller %s detected\n",
+ drivername, PCIDEV_NAME(pdev));
if ( !pci_resource_start(pdev,0)
|| !(pci_resource_flags(pdev,0) & IORESOURCE_IO) ) {
- ERROR("%s: bar 0 invalid", __FUNCTION__);
+ IRDA_ERROR("%s: bar 0 invalid", __FUNCTION__);
goto out_disable;
}
ndev = alloc_irdadev(sizeof(*idev));
if (ndev==NULL) {
- ERROR("%s: Unable to allocate device memory.\n", __FUNCTION__);
+ IRDA_ERROR("%s: Unable to allocate device memory.\n",
+ __FUNCTION__);
goto out_disable;
}
@@ -1666,7 +1672,7 @@ vlsi_irda_probe(struct pci_dev *pdev, const struct pci_device_id *id)
goto out_freedev;
if (register_netdev(ndev) < 0) {
- ERROR("%s: register_netdev failed\n", __FUNCTION__);
+ IRDA_ERROR("%s: register_netdev failed\n", __FUNCTION__);
goto out_freedev;
}
@@ -1675,7 +1681,8 @@ vlsi_irda_probe(struct pci_dev *pdev, const struct pci_device_id *id)
ent = create_proc_entry(ndev->name, S_IFREG|S_IRUGO, vlsi_proc_root);
if (!ent) {
- WARNING("%s: failed to create proc entry\n", __FUNCTION__);
+ IRDA_WARNING("%s: failed to create proc entry\n",
+ __FUNCTION__);
} else {
ent->data = ndev;
ent->proc_fops = VLSI_PROC_FOPS;
@@ -1683,7 +1690,7 @@ vlsi_irda_probe(struct pci_dev *pdev, const struct pci_device_id *id)
}
idev->proc_entry = ent;
}
- MESSAGE("%s: registered device %s\n", drivername, ndev->name);
+ IRDA_MESSAGE("%s: registered device %s\n", drivername, ndev->name);
pci_set_drvdata(pdev, ndev);
up(&idev->sem);
@@ -1706,7 +1713,7 @@ static void __devexit vlsi_irda_remove(struct pci_dev *pdev)
vlsi_irda_dev_t *idev;
if (!ndev) {
- ERROR("%s: lost netdevice?\n", drivername);
+ IRDA_ERROR("%s: lost netdevice?\n", drivername);
return;
}
@@ -1724,7 +1731,7 @@ static void __devexit vlsi_irda_remove(struct pci_dev *pdev)
pci_set_drvdata(pdev, NULL);
- MESSAGE("%s: %s removed\n", drivername, PCIDEV_NAME(pdev));
+ IRDA_MESSAGE("%s: %s removed\n", drivername, PCIDEV_NAME(pdev));
}
#ifdef CONFIG_PM
@@ -1743,12 +1750,13 @@ static int vlsi_irda_suspend(struct pci_dev *pdev, u32 state)
vlsi_irda_dev_t *idev;
if (state < 1 || state > 3 ) {
- ERROR("%s - %s: invalid pm state request: %u\n",
- __FUNCTION__, PCIDEV_NAME(pdev), state);
+ IRDA_ERROR("%s - %s: invalid pm state request: %u\n",
+ __FUNCTION__, PCIDEV_NAME(pdev), state);
return 0;
}
if (!ndev) {
- ERROR("%s - %s: no netdevice \n", __FUNCTION__, PCIDEV_NAME(pdev));
+ IRDA_ERROR("%s - %s: no netdevice \n",
+ __FUNCTION__, PCIDEV_NAME(pdev));
return 0;
}
idev = ndev->priv;
@@ -1759,8 +1767,7 @@ static int vlsi_irda_suspend(struct pci_dev *pdev, u32 state)
pdev->current_state = state;
}
else
- ERROR("%s - %s: invalid suspend request %u -> %u\n",
- __FUNCTION__, PCIDEV_NAME(pdev), pdev->current_state, state);
+ IRDA_ERROR("%s - %s: invalid suspend request %u -> %u\n", __FUNCTION__, PCIDEV_NAME(pdev), pdev->current_state, state);
up(&idev->sem);
return 0;
}
@@ -1787,14 +1794,16 @@ static int vlsi_irda_resume(struct pci_dev *pdev)
vlsi_irda_dev_t *idev;
if (!ndev) {
- ERROR("%s - %s: no netdevice \n", __FUNCTION__, PCIDEV_NAME(pdev));
+ IRDA_ERROR("%s - %s: no netdevice \n",
+ __FUNCTION__, PCIDEV_NAME(pdev));
return 0;
}
idev = ndev->priv;
down(&idev->sem);
if (pdev->current_state == 0) {
up(&idev->sem);
- WARNING("%s - %s: already resumed\n", __FUNCTION__, PCIDEV_NAME(pdev));
+ IRDA_WARNING("%s - %s: already resumed\n",
+ __FUNCTION__, PCIDEV_NAME(pdev));
return 0;
}
@@ -1813,7 +1822,7 @@ static int vlsi_irda_resume(struct pci_dev *pdev)
* now we explicitly set pdev->current_state = 0 after enabling the
* device and independently resume_ok should catch any garbage config.
*/
- WARNING("%s - hm, nothing to resume?\n", __FUNCTION__);
+ IRDA_WARNING("%s - hm, nothing to resume?\n", __FUNCTION__);
up(&idev->sem);
return 0;
}
@@ -1850,7 +1859,7 @@ static int __init vlsi_mod_init(void)
int i, ret;
if (clksrc < 0 || clksrc > 3) {
- ERROR("%s: invalid clksrc=%d\n", drivername, clksrc);
+ IRDA_ERROR("%s: invalid clksrc=%d\n", drivername, clksrc);
return -1;
}
@@ -1863,8 +1872,7 @@ static int __init vlsi_mod_init(void)
case 64:
break;
default:
- WARNING("%s: invalid %s ringsize %d, using default=8",
- drivername, (i)?"rx":"tx", ringsize[i]);
+ IRDA_WARNING("%s: invalid %s ringsize %d, using default=8", drivername, (i)?"rx":"tx", ringsize[i]);
ringsize[i] = 8;
break;
}
diff --git a/drivers/net/irda/vlsi_ir.h b/drivers/net/irda/vlsi_ir.h
index 1e947e6ad134..414694abf588 100644
--- a/drivers/net/irda/vlsi_ir.h
+++ b/drivers/net/irda/vlsi_ir.h
@@ -656,7 +656,7 @@ static inline void rd_set_addr_status(struct ring_descr *rd, dma_addr_t a, u8 s)
*/
if ((a & ~DMA_MASK_MSTRPAGE)>>24 != MSTRPAGE_VALUE) {
- ERROR("%s: pci busaddr inconsistency!\n", __FUNCTION__);
+ IRDA_ERROR("%s: pci busaddr inconsistency!\n", __FUNCTION__);
dump_stack();
return;
}
diff --git a/drivers/net/irda/w83977af_ir.c b/drivers/net/irda/w83977af_ir.c
index 6968584cd4d8..0ea65c4c6f85 100644
--- a/drivers/net/irda/w83977af_ir.c
+++ b/drivers/net/irda/w83977af_ir.c
@@ -245,10 +245,10 @@ int w83977af_open(int i, unsigned int iobase, unsigned int irq,
err = register_netdev(dev);
if (err) {
- ERROR("%s(), register_netdevice() failed!\n", __FUNCTION__);
+ IRDA_ERROR("%s(), register_netdevice() failed!\n", __FUNCTION__);
goto err_out3;
}
- MESSAGE("IrDA: Registered device %s\n", dev->name);
+ IRDA_MESSAGE("IrDA: Registered device %s\n", dev->name);
/* Need to store self somewhere */
dev_self[i] = self;
@@ -401,8 +401,8 @@ int w83977af_probe( int iobase, int irq, int dma)
switch_bank(iobase, SET7);
outb(0x40, iobase+7);
- MESSAGE("W83977AF (IR) driver loaded. "
- "Version: 0x%02x\n", version);
+ IRDA_MESSAGE("W83977AF (IR) driver loaded. "
+ "Version: 0x%02x\n", version);
return 0;
} else {
@@ -691,7 +691,7 @@ static void w83977af_dma_xmit_complete(struct w83977af_ir *self)
IRDA_DEBUG(4, "%s(%ld)\n", __FUNCTION__ , jiffies);
- ASSERT(self != NULL, return;);
+ IRDA_ASSERT(self != NULL, return;);
iobase = self->io.fir_base;
@@ -743,7 +743,7 @@ int w83977af_dma_receive(struct w83977af_ir *self)
unsigned long flags;
__u8 hcr;
#endif
- ASSERT(self != NULL, return -1;);
+ IRDA_ASSERT(self != NULL, return -1;);
IRDA_DEBUG(4, "%s\n", __FUNCTION__ );
@@ -945,7 +945,7 @@ static void w83977af_pio_receive(struct w83977af_ir *self)
IRDA_DEBUG(4, "%s()\n", __FUNCTION__ );
- ASSERT(self != NULL, return;);
+ IRDA_ASSERT(self != NULL, return;);
iobase = self->io.fir_base;
@@ -1163,7 +1163,7 @@ static int w83977af_is_receiving(struct w83977af_ir *self)
int iobase;
__u8 set;
- ASSERT(self != NULL, return FALSE;);
+ IRDA_ASSERT(self != NULL, return FALSE;);
if (self->io.speed > 115200) {
iobase = self->io.fir_base;
@@ -1197,10 +1197,10 @@ static int w83977af_net_open(struct net_device *dev)
IRDA_DEBUG(0, "%s()\n", __FUNCTION__ );
- ASSERT(dev != NULL, return -1;);
+ IRDA_ASSERT(dev != NULL, return -1;);
self = (struct w83977af_ir *) dev->priv;
- ASSERT(self != NULL, return 0;);
+ IRDA_ASSERT(self != NULL, return 0;);
iobase = self->io.fir_base;
@@ -1260,11 +1260,11 @@ static int w83977af_net_close(struct net_device *dev)
IRDA_DEBUG(0, "%s()\n", __FUNCTION__ );
- ASSERT(dev != NULL, return -1;);
+ IRDA_ASSERT(dev != NULL, return -1;);
self = (struct w83977af_ir *) dev->priv;
- ASSERT(self != NULL, return 0;);
+ IRDA_ASSERT(self != NULL, return 0;);
iobase = self->io.fir_base;
@@ -1307,11 +1307,11 @@ static int w83977af_net_ioctl(struct net_device *dev, struct ifreq *rq, int cmd)
unsigned long flags;
int ret = 0;
- ASSERT(dev != NULL, return -1;);
+ IRDA_ASSERT(dev != NULL, return -1;);
self = dev->priv;
- ASSERT(self != NULL, return -1;);
+ IRDA_ASSERT(self != NULL, return -1;);
IRDA_DEBUG(2, "%s(), %s, (cmd=0x%X)\n", __FUNCTION__ , dev->name, cmd);
diff --git a/drivers/net/netconsole.c b/drivers/net/netconsole.c
index 29c98d6555d3..edd1b5306b16 100644
--- a/drivers/net/netconsole.c
+++ b/drivers/net/netconsole.c
@@ -60,6 +60,7 @@ static struct netpoll np = {
.local_port = 6665,
.remote_port = 6666,
.remote_mac = {0xff, 0xff, 0xff, 0xff, 0xff, 0xff},
+ .drop = netpoll_queue,
};
static int configured = 0;
diff --git a/drivers/net/tg3.c b/drivers/net/tg3.c
index 89bf34809adf..12de80884b1a 100644
--- a/drivers/net/tg3.c
+++ b/drivers/net/tg3.c
@@ -4,6 +4,7 @@
* Copyright (C) 2001, 2002, 2003, 2004 David S. Miller (davem@redhat.com)
* Copyright (C) 2001, 2002, 2003 Jeff Garzik (jgarzik@pobox.com)
* Copyright (C) 2004 Sun Microsystems Inc.
+ * Copyright (C) 2005 Broadcom Corporation.
*
* Firmware is:
* Copyright (C) 2000-2003 Broadcom Corporation.
@@ -60,8 +61,8 @@
#define DRV_MODULE_NAME "tg3"
#define PFX DRV_MODULE_NAME ": "
-#define DRV_MODULE_VERSION "3.24"
-#define DRV_MODULE_RELDATE "March 4, 2005"
+#define DRV_MODULE_VERSION "3.25"
+#define DRV_MODULE_RELDATE "March 24, 2005"
#define TG3_DEF_MAC_MODE 0
#define TG3_DEF_RX_MODE 0
@@ -103,9 +104,7 @@
* replace things like '% foo' with '& (foo - 1)'.
*/
#define TG3_RX_RCB_RING_SIZE(tp) \
- ((GET_ASIC_REV(tp->pci_chip_rev_id) == ASIC_REV_5705 || \
- GET_ASIC_REV(tp->pci_chip_rev_id) == ASIC_REV_5750) ? \
- 512 : 1024)
+ ((tp->tg3_flags2 & TG3_FLG2_5705_PLUS) ? 512 : 1024)
#define TG3_TX_RING_SIZE 512
#define TG3_DEF_TX_RING_PENDING (TG3_TX_RING_SIZE - 1)
@@ -468,8 +467,7 @@ static void tg3_switch_clocks(struct tg3 *tp)
0x1f);
tp->pci_clock_ctrl = clock_ctrl;
- if (GET_ASIC_REV(tp->pci_chip_rev_id) == ASIC_REV_5705 ||
- GET_ASIC_REV(tp->pci_chip_rev_id) == ASIC_REV_5750) {
+ if (tp->tg3_flags2 & TG3_FLG2_5705_PLUS) {
if (orig_clock_ctrl & CLOCK_CTRL_625_CORE) {
tw32_f(TG3PCI_CLOCK_CTRL,
clock_ctrl | CLOCK_CTRL_625_CORE);
@@ -871,6 +869,19 @@ out:
!tg3_readphy(tp, MII_TG3_AUX_CTRL, &phy_reg))
tg3_writephy(tp, MII_TG3_AUX_CTRL, phy_reg | 0x4000);
}
+
+ /* Set phy register 0x10 bit 0 to high fifo elasticity to support
+ * jumbo frames transmission.
+ */
+ if (GET_ASIC_REV(tp->pci_chip_rev_id) != ASIC_REV_5705 &&
+ GET_ASIC_REV(tp->pci_chip_rev_id) != ASIC_REV_5750) {
+ u32 phy_reg;
+
+ if (!tg3_readphy(tp, MII_TG3_EXT_CTRL, &phy_reg))
+ tg3_writephy(tp, MII_TG3_EXT_CTRL,
+ phy_reg | MII_TG3_EXT_CTRL_FIFO_ELASTIC);
+ }
+
tg3_phy_set_wirespeed(tp);
return 0;
}
@@ -969,6 +980,7 @@ static int tg3_setup_phy(struct tg3 *, int);
#define RESET_KIND_SUSPEND 2
static void tg3_write_sig_post_reset(struct tg3 *, int);
+static int tg3_halt_cpu(struct tg3 *, u32);
static int tg3_set_power_state(struct tg3 *tp, int state)
{
@@ -1093,8 +1105,7 @@ static int tg3_set_power_state(struct tg3 *tp, int state)
CLOCK_CTRL_TXCLK_DISABLE |
CLOCK_CTRL_ALTCLK);
newbits2 = newbits1 | CLOCK_CTRL_44MHZ_CORE;
- } else if (GET_ASIC_REV(tp->pci_chip_rev_id) == ASIC_REV_5705 ||
- GET_ASIC_REV(tp->pci_chip_rev_id) == ASIC_REV_5750) {
+ } else if (tp->tg3_flags2 & TG3_FLG2_5705_PLUS) {
newbits1 = CLOCK_CTRL_625_CORE;
newbits2 = newbits1 | CLOCK_CTRL_ALTCLK;
} else {
@@ -1108,8 +1119,7 @@ static int tg3_set_power_state(struct tg3 *tp, int state)
tw32_f(TG3PCI_CLOCK_CTRL, tp->pci_clock_ctrl | newbits2);
udelay(40);
- if (GET_ASIC_REV(tp->pci_chip_rev_id) != ASIC_REV_5705 &&
- GET_ASIC_REV(tp->pci_chip_rev_id) != ASIC_REV_5750) {
+ if (!(tp->tg3_flags2 & TG3_FLG2_5705_PLUS)) {
u32 newbits3;
if (GET_ASIC_REV(tp->pci_chip_rev_id) == ASIC_REV_5700 ||
@@ -1129,6 +1139,17 @@ static int tg3_set_power_state(struct tg3 *tp, int state)
tg3_frob_aux_power(tp);
+ /* Workaround for unstable PLL clock */
+ if ((GET_CHIP_REV(tp->pci_chip_rev_id) == CHIPREV_5750_AX) ||
+ (GET_CHIP_REV(tp->pci_chip_rev_id) == CHIPREV_5750_BX)) {
+ u32 val = tr32(0x7d00);
+
+ val &= ~((1 << 16) | (1 << 4) | (1 << 2) | (1 << 1) | 1);
+ tw32(0x7d00, val);
+ if (!(tp->tg3_flags & TG3_FLAG_ENABLE_ASF))
+ tg3_halt_cpu(tp, RX_CPU_BASE);
+ }
+
/* Finally, set the new power state. */
pci_write_config_word(tp->pdev, pm + PCI_PM_CTRL, power_control);
@@ -2448,8 +2469,7 @@ static int tg3_setup_phy(struct tg3 *tp, int force_reset)
(6 << TX_LENGTHS_IPG_SHIFT) |
(32 << TX_LENGTHS_SLOT_TIME_SHIFT)));
- if (GET_ASIC_REV(tp->pci_chip_rev_id) != ASIC_REV_5705 &&
- GET_ASIC_REV(tp->pci_chip_rev_id) != ASIC_REV_5750) {
+ if (!(tp->tg3_flags2 & TG3_FLG2_5705_PLUS)) {
if (netif_carrier_ok(tp->dev)) {
tw32(HOSTCC_STAT_COAL_TICKS,
DEFAULT_STAT_COAL_TICKS);
@@ -2892,7 +2912,13 @@ static irqreturn_t tg3_interrupt(int irq, void *dev_id, struct pt_regs *regs)
spin_lock_irqsave(&tp->lock, flags);
- if (sblk->status & SD_STATUS_UPDATED) {
+ /* In INTx mode, it is possible for the interrupt to arrive at
+ * the CPU before the status block posted prior to the interrupt.
+ * Reading the PCI State register will confirm whether the
+ * interrupt is ours and will flush the status block.
+ */
+ if ((sblk->status & SD_STATUS_UPDATED) ||
+ !(tr32(TG3PCI_PCISTATE) & PCISTATE_INT_NOT_ACTIVE)) {
/*
* writing any value to intr-mbox-0 clears PCI INTA# and
* chip-internal interrupt pending events.
@@ -3017,6 +3043,7 @@ static int tigon3_4gb_hwbug_workaround(struct tg3 *tp, struct sk_buff *skb,
tp->tx_buffers[entry].skb = NULL;
}
entry = NEXT_TX(entry);
+ i++;
}
dev_kfree_skb(skb);
@@ -3568,8 +3595,7 @@ static int tg3_stop_block(struct tg3 *tp, unsigned long ofs, u32 enable_bit)
unsigned int i;
u32 val;
- if (GET_ASIC_REV(tp->pci_chip_rev_id) == ASIC_REV_5705 ||
- GET_ASIC_REV(tp->pci_chip_rev_id) == ASIC_REV_5750) {
+ if (tp->tg3_flags2 & TG3_FLG2_5705_PLUS) {
switch (ofs) {
case RCVLSC_MODE:
case DMAC_MODE:
@@ -3811,8 +3837,7 @@ static int tg3_chip_reset(struct tg3 *tp)
}
}
- if (GET_ASIC_REV(tp->pci_chip_rev_id) == ASIC_REV_5705 ||
- GET_ASIC_REV(tp->pci_chip_rev_id) == ASIC_REV_5750)
+ if (tp->tg3_flags2 & TG3_FLG2_5705_PLUS)
val |= GRC_MISC_CFG_KEEP_GPHY_POWER;
tw32(GRC_MISC_CFG, val);
@@ -4127,7 +4152,7 @@ static int tg3_halt_cpu(struct tg3 *tp, u32 offset)
int i;
if (offset == TX_CPU_BASE &&
- GET_ASIC_REV(tp->pci_chip_rev_id) == ASIC_REV_5705)
+ (tp->tg3_flags2 & TG3_FLG2_5705_PLUS))
BUG();
if (offset == RX_CPU_BASE) {
@@ -4181,14 +4206,14 @@ static int tg3_load_firmware_cpu(struct tg3 *tp, u32 cpu_base, u32 cpu_scratch_b
void (*write_op)(struct tg3 *, u32, u32);
if (cpu_base == TX_CPU_BASE &&
- GET_ASIC_REV(tp->pci_chip_rev_id) == ASIC_REV_5705) {
+ (tp->tg3_flags2 & TG3_FLG2_5705_PLUS)) {
printk(KERN_ERR PFX "tg3_load_firmware_cpu: Trying to load "
"TX cpu firmware on %s which is 5705.\n",
tp->dev->name);
return -EINVAL;
}
- if (GET_ASIC_REV(tp->pci_chip_rev_id) == ASIC_REV_5705)
+ if (tp->tg3_flags2 & TG3_FLG2_5705_PLUS)
write_op = tg3_write_mem;
else
write_op = tg3_write_indirect_reg32;
@@ -4928,8 +4953,7 @@ static void tg3_set_bdinfo(struct tg3 *tp, u32 bdinfo_addr,
(bdinfo_addr + TG3_BDINFO_MAXLEN_FLAGS),
maxlen_flags);
- if ((GET_ASIC_REV(tp->pci_chip_rev_id) != ASIC_REV_5705) &&
- (GET_ASIC_REV(tp->pci_chip_rev_id) != ASIC_REV_5750))
+ if (!(tp->tg3_flags2 & TG3_FLG2_5705_PLUS))
tg3_write_mem(tp,
(bdinfo_addr + TG3_BDINFO_NIC_ADDR),
nic_addr);
@@ -5107,8 +5131,7 @@ static int tg3_reset_hw(struct tg3 *tp)
/* Don't even try to program the JUMBO/MINI buffer descriptor
* configs on 5705.
*/
- if (GET_ASIC_REV(tp->pci_chip_rev_id) == ASIC_REV_5705 ||
- GET_ASIC_REV(tp->pci_chip_rev_id) == ASIC_REV_5750) {
+ if (tp->tg3_flags2 & TG3_FLG2_5705_PLUS) {
tw32(RCVDBDI_STD_BD + TG3_BDINFO_MAXLEN_FLAGS,
RX_STD_MAX_SIZE_5705 << BDINFO_FLAGS_MAXLEN_SHIFT);
} else {
@@ -5140,8 +5163,7 @@ static int tg3_reset_hw(struct tg3 *tp)
/* There is only one send ring on 5705/5750, no need to explicitly
* disable the others.
*/
- if (GET_ASIC_REV(tp->pci_chip_rev_id) != ASIC_REV_5705 &&
- GET_ASIC_REV(tp->pci_chip_rev_id) != ASIC_REV_5750) {
+ if (!(tp->tg3_flags2 & TG3_FLG2_5705_PLUS)) {
/* Clear out send RCB ring in SRAM. */
for (i = NIC_SRAM_SEND_RCB; i < NIC_SRAM_RCV_RET_RCB; i += TG3_BDINFO_SIZE)
tg3_write_mem(tp, i + TG3_BDINFO_MAXLEN_FLAGS,
@@ -5162,8 +5184,7 @@ static int tg3_reset_hw(struct tg3 *tp)
/* There is only one receive return ring on 5705/5750, no need
* to explicitly disable the others.
*/
- if (GET_ASIC_REV(tp->pci_chip_rev_id) != ASIC_REV_5705 &&
- GET_ASIC_REV(tp->pci_chip_rev_id) != ASIC_REV_5750) {
+ if (!(tp->tg3_flags2 & TG3_FLG2_5705_PLUS)) {
for (i = NIC_SRAM_RCV_RET_RCB; i < NIC_SRAM_STATS_BLK;
i += TG3_BDINFO_SIZE) {
tg3_write_mem(tp, i + TG3_BDINFO_MAXLEN_FLAGS,
@@ -5262,8 +5283,7 @@ static int tg3_reset_hw(struct tg3 *tp)
tw32(HOSTCC_TXCOL_TICKS, LOW_TXCOL_TICKS);
tw32(HOSTCC_RXMAX_FRAMES, 1);
tw32(HOSTCC_TXMAX_FRAMES, LOW_RXMAX_FRAMES);
- if (GET_ASIC_REV(tp->pci_chip_rev_id) != ASIC_REV_5705 &&
- GET_ASIC_REV(tp->pci_chip_rev_id) != ASIC_REV_5750) {
+ if (!(tp->tg3_flags2 & TG3_FLG2_5705_PLUS)) {
tw32(HOSTCC_RXCOAL_TICK_INT, 0);
tw32(HOSTCC_TXCOAL_TICK_INT, 0);
}
@@ -5276,8 +5296,7 @@ static int tg3_reset_hw(struct tg3 *tp)
tw32(HOSTCC_STATUS_BLK_HOST_ADDR + TG3_64BIT_REG_LOW,
((u64) tp->status_mapping & 0xffffffff));
- if (GET_ASIC_REV(tp->pci_chip_rev_id) != ASIC_REV_5705 &&
- GET_ASIC_REV(tp->pci_chip_rev_id) != ASIC_REV_5750) {
+ if (!(tp->tg3_flags2 & TG3_FLG2_5705_PLUS)) {
/* Status/statistics block address. See tg3_timer,
* the tg3_periodic_fetch_stats call there, and
* tg3_get_stats to see how this works for 5705/5750 chips.
@@ -5296,8 +5315,7 @@ static int tg3_reset_hw(struct tg3 *tp)
tw32(RCVCC_MODE, RCVCC_MODE_ENABLE | RCVCC_MODE_ATTN_ENABLE);
tw32(RCVLPC_MODE, RCVLPC_MODE_ENABLE);
- if (GET_ASIC_REV(tp->pci_chip_rev_id) != ASIC_REV_5705 &&
- GET_ASIC_REV(tp->pci_chip_rev_id) != ASIC_REV_5750)
+ if (!(tp->tg3_flags2 & TG3_FLG2_5705_PLUS))
tw32(RCVLSC_MODE, RCVLSC_MODE_ENABLE | RCVLSC_MODE_ATTN_ENABLE);
/* Clear statistics/status block in chip, and status block in ram. */
@@ -5324,8 +5342,7 @@ static int tg3_reset_hw(struct tg3 *tp)
tw32_mailbox(MAILBOX_INTERRUPT_0 + TG3_64BIT_REG_LOW, 0);
tr32(MAILBOX_INTERRUPT_0);
- if (GET_ASIC_REV(tp->pci_chip_rev_id) != ASIC_REV_5705 &&
- GET_ASIC_REV(tp->pci_chip_rev_id) != ASIC_REV_5750) {
+ if (!(tp->tg3_flags2 & TG3_FLG2_5705_PLUS)) {
tw32_f(DMAC_MODE, DMAC_MODE_ENABLE);
udelay(40);
}
@@ -5372,8 +5389,7 @@ static int tg3_reset_hw(struct tg3 *tp)
udelay(40);
tw32(RCVDCC_MODE, RCVDCC_MODE_ENABLE | RCVDCC_MODE_ATTN_ENABLE);
- if (GET_ASIC_REV(tp->pci_chip_rev_id) != ASIC_REV_5705 &&
- GET_ASIC_REV(tp->pci_chip_rev_id) != ASIC_REV_5750)
+ if (!(tp->tg3_flags2 & TG3_FLG2_5705_PLUS))
tw32(MBFREE_MODE, MBFREE_MODE_ENABLE);
tw32(SNDDATAC_MODE, SNDDATAC_MODE_ENABLE);
tw32(SNDBDC_MODE, SNDBDC_MODE_ENABLE | SNDBDC_MODE_ATTN_ENABLE);
@@ -5477,8 +5493,7 @@ static int tg3_reset_hw(struct tg3 *tp)
tw32(MAC_RCV_RULE_1, 0x86000004 & RCV_RULE_DISABLE_MASK);
tw32(MAC_RCV_VALUE_1, 0xffffffff & RCV_RULE_DISABLE_MASK);
- if (GET_ASIC_REV(tp->pci_chip_rev_id) == ASIC_REV_5705 ||
- GET_ASIC_REV(tp->pci_chip_rev_id) == ASIC_REV_5750)
+ if (tp->tg3_flags2 & TG3_FLG2_5705_PLUS)
limit = 8;
else
limit = 16;
@@ -5622,8 +5637,7 @@ static void tg3_timer(unsigned long __opaque)
return;
}
- if (GET_ASIC_REV(tp->pci_chip_rev_id) == ASIC_REV_5705 ||
- GET_ASIC_REV(tp->pci_chip_rev_id) == ASIC_REV_5750)
+ if (tp->tg3_flags2 & TG3_FLG2_5705_PLUS)
tg3_periodic_fetch_stats(tp);
/* This part only runs once per second. */
@@ -6532,10 +6546,6 @@ static int tg3_get_settings(struct net_device *dev, struct ethtool_cmd *cmd)
{
struct tg3 *tp = netdev_priv(dev);
- if (!(tp->tg3_flags & TG3_FLAG_INIT_COMPLETE) ||
- tp->link_config.phy_is_low_power)
- return -EAGAIN;
-
cmd->supported = (SUPPORTED_Autoneg);
if (!(tp->tg3_flags & TG3_FLAG_10_100_ONLY))
@@ -6552,8 +6562,10 @@ static int tg3_get_settings(struct net_device *dev, struct ethtool_cmd *cmd)
cmd->supported |= SUPPORTED_FIBRE;
cmd->advertising = tp->link_config.advertising;
- cmd->speed = tp->link_config.active_speed;
- cmd->duplex = tp->link_config.active_duplex;
+ if (netif_running(dev)) {
+ cmd->speed = tp->link_config.active_speed;
+ cmd->duplex = tp->link_config.active_duplex;
+ }
cmd->port = 0;
cmd->phy_address = PHY_ADDR;
cmd->transceiver = 0;
@@ -6567,10 +6579,6 @@ static int tg3_set_settings(struct net_device *dev, struct ethtool_cmd *cmd)
{
struct tg3 *tp = netdev_priv(dev);
- if (!(tp->tg3_flags & TG3_FLAG_INIT_COMPLETE) ||
- tp->link_config.phy_is_low_power)
- return -EAGAIN;
-
if (tp->tg3_flags2 & TG3_FLG2_PHY_SERDES) {
/* These are the only valid advertisement bits allowed. */
if (cmd->autoneg == AUTONEG_ENABLE &&
@@ -6595,7 +6603,9 @@ static int tg3_set_settings(struct net_device *dev, struct ethtool_cmd *cmd)
tp->link_config.duplex = cmd->duplex;
}
- tg3_setup_phy(tp, 1);
+ if (netif_running(dev))
+ tg3_setup_phy(tp, 1);
+
spin_unlock(&tp->tx_lock);
spin_unlock_irq(&tp->lock);
@@ -6675,6 +6685,9 @@ static int tg3_nway_reset(struct net_device *dev)
u32 bmcr;
int r;
+ if (!netif_running(dev))
+ return -EAGAIN;
+
spin_lock_irq(&tp->lock);
r = -EINVAL;
tg3_readphy(tp, MII_BMCR, &bmcr);
@@ -6711,7 +6724,9 @@ static int tg3_set_ringparam(struct net_device *dev, struct ethtool_ringparam *e
(ering->tx_pending > TG3_TX_RING_SIZE - 1))
return -EINVAL;
- tg3_netif_stop(tp);
+ if (netif_running(dev))
+ tg3_netif_stop(tp);
+
spin_lock_irq(&tp->lock);
spin_lock(&tp->tx_lock);
@@ -6723,9 +6738,12 @@ static int tg3_set_ringparam(struct net_device *dev, struct ethtool_ringparam *e
tp->rx_jumbo_pending = ering->rx_jumbo_pending;
tp->tx_pending = ering->tx_pending;
- tg3_halt(tp);
- tg3_init_hw(tp);
- tg3_netif_start(tp);
+ if (netif_running(dev)) {
+ tg3_halt(tp);
+ tg3_init_hw(tp);
+ tg3_netif_start(tp);
+ }
+
spin_unlock(&tp->tx_lock);
spin_unlock_irq(&tp->lock);
@@ -6745,7 +6763,9 @@ static int tg3_set_pauseparam(struct net_device *dev, struct ethtool_pauseparam
{
struct tg3 *tp = netdev_priv(dev);
- tg3_netif_stop(tp);
+ if (netif_running(dev))
+ tg3_netif_stop(tp);
+
spin_lock_irq(&tp->lock);
spin_lock(&tp->tx_lock);
if (epause->autoneg)
@@ -6760,9 +6780,12 @@ static int tg3_set_pauseparam(struct net_device *dev, struct ethtool_pauseparam
tp->tg3_flags |= TG3_FLAG_TX_PAUSE;
else
tp->tg3_flags &= ~TG3_FLAG_TX_PAUSE;
- tg3_halt(tp);
- tg3_init_hw(tp);
- tg3_netif_start(tp);
+
+ if (netif_running(dev)) {
+ tg3_halt(tp);
+ tg3_init_hw(tp);
+ tg3_netif_start(tp);
+ }
spin_unlock(&tp->tx_lock);
spin_unlock_irq(&tp->lock);
@@ -7908,6 +7931,10 @@ static int __devinit tg3_get_invariants(struct tg3 *tp)
tp->pci_hdr_type = (cacheline_sz_reg >> 16) & 0xff;
tp->pci_bist = (cacheline_sz_reg >> 24) & 0xff;
+ if ((GET_ASIC_REV(tp->pci_chip_rev_id) == ASIC_REV_5705) ||
+ (GET_ASIC_REV(tp->pci_chip_rev_id) == ASIC_REV_5750))
+ tp->tg3_flags2 |= TG3_FLG2_5705_PLUS;
+
if (GET_ASIC_REV(tp->pci_chip_rev_id) == ASIC_REV_5750)
tp->tg3_flags2 |= TG3_FLG2_HW_TSO;
@@ -8795,8 +8822,7 @@ static int __devinit tg3_init_one(struct pci_dev *pdev,
goto err_out_iounmap;
}
- if (GET_ASIC_REV(tp->pci_chip_rev_id) == ASIC_REV_5705 ||
- GET_ASIC_REV(tp->pci_chip_rev_id) == ASIC_REV_5750) {
+ if (tp->tg3_flags2 & TG3_FLG2_5705_PLUS) {
tp->bufmgr_config.mbuf_read_dma_low_water =
DEFAULT_MB_RDMA_LOW_WATER_5705;
tp->bufmgr_config.mbuf_mac_rx_low_water =
diff --git a/drivers/net/tg3.h b/drivers/net/tg3.h
index 9de18c85abca..d48887d90325 100644
--- a/drivers/net/tg3.h
+++ b/drivers/net/tg3.h
@@ -140,6 +140,8 @@
#define CHIPREV_5703_AX 0x10
#define CHIPREV_5704_AX 0x20
#define CHIPREV_5704_BX 0x21
+#define CHIPREV_5750_AX 0x40
+#define CHIPREV_5750_BX 0x41
#define GET_METAL_REV(CHIP_REV_ID) ((CHIP_REV_ID) & 0xff)
#define METAL_REV_A0 0x00
#define METAL_REV_A1 0x01
@@ -1516,6 +1518,7 @@
#define MII_TG3_CTRL_ENABLE_AS_MASTER 0x1000
#define MII_TG3_EXT_CTRL 0x10 /* Extended control register */
+#define MII_TG3_EXT_CTRL_FIFO_ELASTIC 0x0001
#define MII_TG3_EXT_CTRL_LNK3_LED_MODE 0x0002
#define MII_TG3_EXT_CTRL_TBI 0x8000
@@ -2096,6 +2099,7 @@ struct tg3 {
#define TG3_FLG2_FLASH 0x00008000
#define TG3_FLG2_HW_TSO 0x00010000
#define TG3_FLG2_SERDES_PREEMPHASIS 0x00020000
+#define TG3_FLG2_5705_PLUS 0x00040000
u32 split_mode_max_reqs;
#define SPLIT_MODE_5704_MAX_REQ 3
diff --git a/include/linux/netdevice.h b/include/linux/netdevice.h
index cc7e12b07cdb..8d775be67833 100644
--- a/include/linux/netdevice.h
+++ b/include/linux/netdevice.h
@@ -41,7 +41,7 @@
struct divert_blk;
struct vlan_group;
struct ethtool_ops;
-
+struct netpoll;
/* source back-compat hooks */
#define SET_ETHTOOL_OPS(netdev,ops) \
( (netdev)->ethtool_ops = (ops) )
@@ -468,7 +468,7 @@ struct net_device
unsigned char *haddr);
int (*neigh_setup)(struct net_device *dev, struct neigh_parms *);
#ifdef CONFIG_NETPOLL
- int netpoll_rx;
+ struct netpoll *np;
#endif
#ifdef CONFIG_NET_POLL_CONTROLLER
void (*poll_controller)(struct net_device *dev);
diff --git a/include/linux/netpoll.h b/include/linux/netpoll.h
index ccf1ccb80972..c0d8b90c5202 100644
--- a/include/linux/netpoll.h
+++ b/include/linux/netpoll.h
@@ -16,11 +16,14 @@ struct netpoll;
struct netpoll {
struct net_device *dev;
char dev_name[16], *name;
+ int rx_flags;
void (*rx_hook)(struct netpoll *, int, char *, int);
+ void (*drop)(struct sk_buff *skb);
u32 local_ip, remote_ip;
u16 local_port, remote_port;
unsigned char local_mac[6], remote_mac[6];
- struct list_head rx_list;
+ spinlock_t poll_lock;
+ int poll_owner;
};
void netpoll_poll(struct netpoll *np);
@@ -30,7 +33,35 @@ int netpoll_setup(struct netpoll *np);
int netpoll_trap(void);
void netpoll_set_trap(int trap);
void netpoll_cleanup(struct netpoll *np);
-int netpoll_rx(struct sk_buff *skb);
+int __netpoll_rx(struct sk_buff *skb);
+void netpoll_queue(struct sk_buff *skb);
+#ifdef CONFIG_NETPOLL
+static inline int netpoll_rx(struct sk_buff *skb)
+{
+ return skb->dev->np && skb->dev->np->rx_flags && __netpoll_rx(skb);
+}
+
+static inline void netpoll_poll_lock(struct net_device *dev)
+{
+ if (dev->np) {
+ spin_lock(&dev->np->poll_lock);
+ dev->np->poll_owner = smp_processor_id();
+ }
+}
+
+static inline void netpoll_poll_unlock(struct net_device *dev)
+{
+ if (dev->np) {
+ spin_unlock(&dev->np->poll_lock);
+ dev->np->poll_owner = -1;
+ }
+}
+
+#else
+#define netpoll_rx(a) 0
+#define netpoll_poll_lock(a)
+#define netpoll_poll_unlock(a)
+#endif
#endif
diff --git a/include/linux/pkt_cls.h b/include/linux/pkt_cls.h
index 741d15b0f162..d2aa214d6803 100644
--- a/include/linux/pkt_cls.h
+++ b/include/linux/pkt_cls.h
@@ -80,6 +80,7 @@ enum
TCA_ACT_KIND,
TCA_ACT_OPTIONS,
TCA_ACT_INDEX,
+ TCA_ACT_STATS,
__TCA_ACT_MAX
};
diff --git a/include/linux/rtnetlink.h b/include/linux/rtnetlink.h
index 6d6b2eae47e0..1b4e5122d697 100644
--- a/include/linux/rtnetlink.h
+++ b/include/linux/rtnetlink.h
@@ -715,7 +715,6 @@ enum
TCA_RATE,
TCA_FCNT,
TCA_STATS2,
- TCA_ACT_STATS,
__TCA_MAX
};
diff --git a/include/net/ip_mp_alg.h b/include/net/ip_mp_alg.h
index 9431df22782c..77225735cbd4 100644
--- a/include/net/ip_mp_alg.h
+++ b/include/net/ip_mp_alg.h
@@ -36,6 +36,7 @@ static inline int multipath_select_route(const struct flowi *flp,
#ifdef CONFIG_IP_ROUTE_MULTIPATH_CACHED
struct ip_mp_alg_ops *ops = ip_mp_alg_table[rth->rt_multipath_alg];
+ /* mp_alg_select_route _MUST_ be implemented */
if (ops && (rth->u.dst.flags & DST_BALANCED)) {
ops->mp_alg_select_route(flp, rth, rp);
return 1;
@@ -52,7 +53,7 @@ static inline void multipath_flush(void)
for (i = IP_MP_ALG_NONE; i <= IP_MP_ALG_MAX; i++) {
struct ip_mp_alg_ops *ops = ip_mp_alg_table[i];
- if (ops)
+ if (ops && ops->mp_alg_flush)
ops->mp_alg_flush();
}
#endif
@@ -66,7 +67,7 @@ static inline void multipath_set_nhinfo(struct rtable *rth,
#ifdef CONFIG_IP_ROUTE_MULTIPATH_CACHED
struct ip_mp_alg_ops *ops = ip_mp_alg_table[rth->rt_multipath_alg];
- if (ops)
+ if (ops && ops->mp_alg_set_nhinfo)
ops->mp_alg_set_nhinfo(network, netmask, prefixlen, nh);
#endif
}
@@ -76,7 +77,8 @@ static inline void multipath_remove(struct rtable *rth)
#ifdef CONFIG_IP_ROUTE_MULTIPATH_CACHED
struct ip_mp_alg_ops *ops = ip_mp_alg_table[rth->rt_multipath_alg];
- if (ops && (rth->u.dst.flags & DST_BALANCED))
+ if (ops && ops->mp_alg_remove &&
+ (rth->u.dst.flags & DST_BALANCED))
ops->mp_alg_remove(rth);
#endif
}
diff --git a/include/net/irda/irda.h b/include/net/irda/irda.h
index 497f6a3977bd..05a840837fe7 100644
--- a/include/net/irda/irda.h
+++ b/include/net/irda/irda.h
@@ -66,22 +66,25 @@ extern unsigned int irda_debug;
/* use 0 for production, 1 for verification, >2 for debug */
#define IRDA_DEBUG_LEVEL 0
-#define IRDA_DEBUG(n, args...) (irda_debug >= (n)) ? (printk(KERN_DEBUG args)) : 0
-#define ASSERT(expr, func) \
-if(!(expr)) { \
- printk( "Assertion failed! %s:%s:%d %s\n", \
- __FILE__,__FUNCTION__,__LINE__,(#expr)); \
- func }
+#define IRDA_DEBUG(n, args...) \
+do { if (irda_debug >= (n)) \
+ printk(KERN_DEBUG args); \
+} while (0)
+#define IRDA_ASSERT(expr, func) \
+do { if(!(expr)) { \
+ printk( "Assertion failed! %s:%s:%d %s\n", \
+ __FILE__,__FUNCTION__,__LINE__,(#expr) ); \
+ func } } while (0)
+#define IRDA_ASSERT_LABEL(label) label
#else
-#define IRDA_DEBUG(n, args...)
-#define ASSERT(expr, func) \
-if(!(expr)) do { \
- func } while (0)
+#define IRDA_DEBUG(n, args...) do { } while (0)
+#define IRDA_ASSERT(expr, func) do { (void)(expr); } while (0)
+#define IRDA_ASSERT_LABEL(label)
#endif /* CONFIG_IRDA_DEBUG */
-#define WARNING(args...) printk(KERN_WARNING args)
-#define MESSAGE(args...) printk(KERN_INFO args)
-#define ERROR(args...) printk(KERN_ERR args)
+#define IRDA_WARNING(args...) printk(KERN_WARNING args)
+#define IRDA_MESSAGE(args...) printk(KERN_INFO args)
+#define IRDA_ERROR(args...) printk(KERN_ERR args)
/*
* Magic numbers used by Linux-IrDA. Random numbers which must be unique to
diff --git a/include/net/netrom.h b/include/net/netrom.h
index 274a166dc3bd..45f2c7616d8b 100644
--- a/include/net/netrom.h
+++ b/include/net/netrom.h
@@ -8,6 +8,7 @@
#define _NETROM_H
#include <linux/netrom.h>
#include <linux/list.h>
+#include <net/sock.h>
#define NR_NETWORK_LEN 15
#define NR_TRANSPORT_LEN 5
@@ -55,7 +56,8 @@ enum {
#define NR_MAX_WINDOW_SIZE 127 /* Maximum Window Allowable - 127 */
#define NR_MAX_PACKET_SIZE 236 /* Maximum Packet Length - 236 */
-typedef struct {
+struct nr_sock {
+ struct sock sock;
ax25_address user_addr, source_addr, dest_addr;
struct net_device *device;
unsigned char my_index, my_id;
@@ -72,10 +74,9 @@ typedef struct {
struct sk_buff_head ack_queue;
struct sk_buff_head reseq_queue;
struct sk_buff_head frag_queue;
- struct sock *sk; /* Backlink to socket */
-} nr_cb;
+};
-#define nr_sk(__sk) ((nr_cb *)(__sk)->sk_protinfo)
+#define nr_sk(sk) ((struct nr_sock *)(sk))
struct nr_neigh {
struct hlist_node neigh_node;
diff --git a/include/net/rose.h b/include/net/rose.h
index 32fb79817d31..3249b979605a 100644
--- a/include/net/rose.h
+++ b/include/net/rose.h
@@ -6,7 +6,9 @@
#ifndef _ROSE_H
#define _ROSE_H
+
#include <linux/rose.h>
+#include <net/sock.h>
#define ROSE_ADDR_LEN 5
@@ -114,7 +116,8 @@ struct rose_route {
unsigned int rand;
};
-typedef struct {
+struct rose_sock {
+ struct sock sock;
rose_address source_addr, dest_addr;
ax25_address source_call, dest_call;
unsigned char source_ndigis, dest_ndigis;
@@ -135,10 +138,9 @@ typedef struct {
struct rose_facilities_struct facilities;
struct timer_list timer;
struct timer_list idletimer;
- struct sock *sk; /* Backlink to socket */
-} rose_cb;
+};
-#define rose_sk(__sk) ((rose_cb *)(__sk)->sk_protinfo)
+#define rose_sk(sk) ((struct rose_sock *)(sk))
/* af_rose.c */
extern ax25_address rose_callsign;
diff --git a/net/Kconfig b/net/Kconfig
index 223b05c66320..9251b28e8d5d 100644
--- a/net/Kconfig
+++ b/net/Kconfig
@@ -45,15 +45,6 @@ config PACKET_MMAP
If unsure, say N.
-config NETLINK_DEV
- tristate "Netlink device emulation"
- help
- This option will be removed soon. Any programs that want to use
- character special nodes like /dev/tap0 or /dev/route (all with major
- number 36) need this option, and need to be rewritten soon to use
- the real netlink socket.
- This is a backward compatibility option, choose Y for now.
-
config UNIX
tristate "Unix domain sockets"
---help---
diff --git a/net/atm/common.c b/net/atm/common.c
index 0e66b836d6fd..30a6a7532560 100644
--- a/net/atm/common.c
+++ b/net/atm/common.c
@@ -41,7 +41,7 @@
struct hlist_head vcc_hash[VCC_HTABLE_SIZE];
DEFINE_RWLOCK(vcc_sklist_lock);
-void __vcc_insert_socket(struct sock *sk)
+static void __vcc_insert_socket(struct sock *sk)
{
struct atm_vcc *vcc = atm_sk(sk);
struct hlist_head *head = &vcc_hash[vcc->vci &
@@ -755,21 +755,6 @@ int vcc_getsockopt(struct socket *sock, int level, int optname,
return vcc->dev->ops->getsockopt(vcc, level, optname, optval, len);
}
-
-#if defined(CONFIG_ATM_LANE) || defined(CONFIG_ATM_LANE_MODULE)
-#if defined(CONFIG_BRIDGE) || defined(CONFIG_BRIDGE_MODULE)
-struct net_bridge;
-struct net_bridge_fdb_entry *(*br_fdb_get_hook)(struct net_bridge *br,
- unsigned char *addr) = NULL;
-void (*br_fdb_put_hook)(struct net_bridge_fdb_entry *ent) = NULL;
-#if defined(CONFIG_ATM_LANE_MODULE) || defined(CONFIG_BRIDGE_MODULE)
-EXPORT_SYMBOL(br_fdb_get_hook);
-EXPORT_SYMBOL(br_fdb_put_hook);
-#endif /* defined(CONFIG_ATM_LANE_MODULE) || defined(CONFIG_BRIDGE_MODULE) */
-#endif /* defined(CONFIG_BRIDGE) || defined(CONFIG_BRIDGE_MODULE) */
-#endif /* defined(CONFIG_ATM_LANE) || defined(CONFIG_ATM_LANE_MODULE) */
-
-
static int __init atm_init(void)
{
int error;
diff --git a/net/atm/lec.c b/net/atm/lec.c
index e2a81b1ed071..a0752487026d 100644
--- a/net/atm/lec.c
+++ b/net/atm/lec.c
@@ -37,11 +37,8 @@
#if defined(CONFIG_BRIDGE) || defined(CONFIG_BRIDGE_MODULE)
#include <linux/if_bridge.h>
#include "../bridge/br_private.h"
-static unsigned char bridge_ula_lec[] = {0x01, 0x80, 0xc2, 0x00, 0x00};
-extern struct net_bridge_fdb_entry *(*br_fdb_get_hook)(struct net_bridge *br,
- unsigned char *addr);
-extern void (*br_fdb_put_hook)(struct net_bridge_fdb_entry *ent);
+static unsigned char bridge_ula_lec[] = {0x01, 0x80, 0xc2, 0x00, 0x00};
#endif
/* Modular too */
@@ -83,6 +80,29 @@ static int lane2_resolve(struct net_device *dev, u8 *dst_mac, int force,
static int lane2_associate_req (struct net_device *dev, u8 *lan_dst,
u8 *tlvs, u32 sizeoftlvs);
+static int lec_addr_delete(struct lec_priv *priv, unsigned char *atm_addr,
+ unsigned long permanent);
+static void lec_arp_check_empties(struct lec_priv *priv,
+ struct atm_vcc *vcc, struct sk_buff *skb);
+static void lec_arp_destroy(struct lec_priv *priv);
+static void lec_arp_init(struct lec_priv *priv);
+static struct atm_vcc* lec_arp_resolve(struct lec_priv *priv,
+ unsigned char *mac_to_find,
+ int is_rdesc,
+ struct lec_arp_table **ret_entry);
+static void lec_arp_update(struct lec_priv *priv, unsigned char *mac_addr,
+ unsigned char *atm_addr, unsigned long remoteflag,
+ unsigned int targetless_le_arp);
+static void lec_flush_complete(struct lec_priv *priv, unsigned long tran_id);
+static int lec_mcast_make(struct lec_priv *priv, struct atm_vcc *vcc);
+static void lec_set_flush_tran_id(struct lec_priv *priv,
+ unsigned char *atm_addr,
+ unsigned long tran_id);
+static void lec_vcc_added(struct lec_priv *priv, struct atmlec_ioc *ioc_data,
+ struct atm_vcc *vcc,
+ void (*old_push)(struct atm_vcc *vcc, struct sk_buff *skb));
+static void lec_vcc_close(struct lec_priv *priv, struct atm_vcc *vcc);
+
static struct lane2_ops lane2_ops = {
lane2_resolve, /* resolve, spec 3.1.3 */
lane2_associate_req, /* associate_req, spec 3.1.4 */
@@ -94,21 +114,6 @@ static unsigned char bus_mac[ETH_ALEN] = {0xff,0xff,0xff,0xff,0xff,0xff};
/* Device structures */
static struct net_device *dev_lec[MAX_LEC_ITF];
-/* This will be called from proc.c via function pointer */
-struct net_device *get_dev_lec(int itf)
-{
- struct net_device *dev;
-
- if (itf >= MAX_LEC_ITF)
- return NULL;
- rtnl_lock();
- dev = dev_lec[itf];
- if (dev)
- dev_hold(dev);
- rtnl_unlock();
- return dev;
-}
-
#if defined(CONFIG_BRIDGE) || defined(CONFIG_BRIDGE_MODULE)
static void lec_handle_bridge(struct sk_buff *skb, struct net_device *dev)
{
@@ -155,7 +160,7 @@ static void lec_handle_bridge(struct sk_buff *skb, struct net_device *dev)
* and returns NULL.
*/
#ifdef CONFIG_TR
-unsigned char *get_tr_dst(unsigned char *packet, unsigned char *rdesc)
+static unsigned char *get_tr_dst(unsigned char *packet, unsigned char *rdesc)
{
struct trh_hdr *trh;
int riflen, num_rdsc;
@@ -599,7 +604,7 @@ static struct atm_dev lecatm_dev = {
* LANE2: new argument struct sk_buff *data contains
* the LE_ARP based TLVs introduced in the LANE2 spec
*/
-int
+static int
send_to_lecd(struct lec_priv *priv, atmlec_msg_type type,
unsigned char *mac_addr, unsigned char *atm_addr,
struct sk_buff *data)
@@ -681,7 +686,7 @@ static unsigned char lec_ctrl_magic[] = {
0x01,
0x01 };
-void
+static void
lec_push(struct atm_vcc *vcc, struct sk_buff *skb)
{
struct net_device *dev = (struct net_device *)vcc->proto_data;
@@ -764,7 +769,7 @@ lec_push(struct atm_vcc *vcc, struct sk_buff *skb)
}
}
-void
+static void
lec_pop(struct atm_vcc *vcc, struct sk_buff *skb)
{
struct lec_vcc_priv *vpriv = LEC_VCC_PRIV(vcc);
@@ -784,7 +789,7 @@ lec_pop(struct atm_vcc *vcc, struct sk_buff *skb)
}
}
-int
+static int
lec_vcc_attach(struct atm_vcc *vcc, void __user *arg)
{
struct lec_vcc_priv *vpriv;
@@ -813,7 +818,7 @@ lec_vcc_attach(struct atm_vcc *vcc, void __user *arg)
return 0;
}
-int
+static int
lec_mcast_attach(struct atm_vcc *vcc, int arg)
{
if (arg <0 || arg >= MAX_LEC_ITF || !dev_lec[arg])
@@ -823,7 +828,7 @@ lec_mcast_attach(struct atm_vcc *vcc, int arg)
}
/* Initialize device. */
-int
+static int
lecd_attach(struct atm_vcc *vcc, int arg)
{
int i;
@@ -1383,7 +1388,6 @@ static void lane2_associate_ind (struct net_device *dev, u8 *mac_addr,
static void lec_arp_check_expire(unsigned long data);
static void lec_arp_expire_arp(unsigned long data);
-void dump_arp_table(struct lec_priv *priv);
/*
* Arp table funcs
@@ -1394,7 +1398,7 @@ void dump_arp_table(struct lec_priv *priv);
/*
* Initialization of arp-cache
*/
-void
+static void
lec_arp_init(struct lec_priv *priv)
{
unsigned short i;
@@ -1410,7 +1414,7 @@ lec_arp_init(struct lec_priv *priv)
add_timer(&priv->lec_arp_timer);
}
-void
+static void
lec_arp_clear_vccs(struct lec_arp_table *entry)
{
if (entry->vcc) {
@@ -1539,7 +1543,7 @@ get_status_string(unsigned char st)
}
#endif
-void
+static void
dump_arp_table(struct lec_priv *priv)
{
#if DEBUG_ARP_TABLE
@@ -1691,7 +1695,7 @@ dump_arp_table(struct lec_priv *priv)
/*
* Destruction of arp-cache
*/
-void
+static void
lec_arp_destroy(struct lec_priv *priv)
{
unsigned long flags;
@@ -1953,9 +1957,9 @@ lec_arp_check_expire(unsigned long data)
* Try to find vcc where mac_address is attached.
*
*/
-struct atm_vcc*
-lec_arp_resolve(struct lec_priv *priv, unsigned char *mac_to_find, int is_rdesc,
- struct lec_arp_table **ret_entry)
+static struct atm_vcc*
+lec_arp_resolve(struct lec_priv *priv, unsigned char *mac_to_find,
+ int is_rdesc, struct lec_arp_table **ret_entry)
{
unsigned long flags;
struct lec_arp_table *entry;
@@ -2034,7 +2038,7 @@ out:
return found;
}
-int
+static int
lec_addr_delete(struct lec_priv *priv, unsigned char *atm_addr,
unsigned long permanent)
{
@@ -2064,7 +2068,7 @@ lec_addr_delete(struct lec_priv *priv, unsigned char *atm_addr,
/*
* Notifies: Response to arp_request (atm_addr != NULL)
*/
-void
+static void
lec_arp_update(struct lec_priv *priv, unsigned char *mac_addr,
unsigned char *atm_addr, unsigned long remoteflag,
unsigned int targetless_le_arp)
@@ -2176,7 +2180,7 @@ out:
/*
* Notifies: Vcc setup ready
*/
-void
+static void
lec_vcc_added(struct lec_priv *priv, struct atmlec_ioc *ioc_data,
struct atm_vcc *vcc,
void (*old_push)(struct atm_vcc *vcc, struct sk_buff *skb))
@@ -2320,7 +2324,7 @@ out:
spin_unlock_irqrestore(&priv->lec_arp_lock, flags);
}
-void
+static void
lec_flush_complete(struct lec_priv *priv, unsigned long tran_id)
{
unsigned long flags;
@@ -2346,7 +2350,7 @@ lec_flush_complete(struct lec_priv *priv, unsigned long tran_id)
dump_arp_table(priv);
}
-void
+static void
lec_set_flush_tran_id(struct lec_priv *priv,
unsigned char *atm_addr, unsigned long tran_id)
{
@@ -2364,7 +2368,7 @@ lec_set_flush_tran_id(struct lec_priv *priv,
spin_unlock_irqrestore(&priv->lec_arp_lock, flags);
}
-int
+static int
lec_mcast_make(struct lec_priv *priv, struct atm_vcc *vcc)
{
unsigned long flags;
@@ -2401,7 +2405,7 @@ out:
return err;
}
-void
+static void
lec_vcc_close(struct lec_priv *priv, struct atm_vcc *vcc)
{
unsigned long flags;
@@ -2476,7 +2480,7 @@ lec_vcc_close(struct lec_priv *priv, struct atm_vcc *vcc)
dump_arp_table(priv);
}
-void
+static void
lec_arp_check_empties(struct lec_priv *priv,
struct atm_vcc *vcc, struct sk_buff *skb)
{
diff --git a/net/atm/lec.h b/net/atm/lec.h
index 34a64f4b63e3..6606082b29a8 100644
--- a/net/atm/lec.h
+++ b/net/atm/lec.h
@@ -14,14 +14,6 @@
#include <linux/netdevice.h>
#include <linux/atmlec.h>
-#if defined (CONFIG_BRIDGE) || defined(CONFIG_BRIDGE_MODULE)
-#include <linux/if_bridge.h>
-struct net_bridge;
-extern struct net_bridge_fdb_entry *(*br_fdb_get_hook)(struct net_bridge *br,
- unsigned char *addr);
-extern void (*br_fdb_put_hook)(struct net_bridge_fdb_entry *ent);
-#endif /* defined(CONFIG_BRIDGE) || defined(CONFIG_BRIDGE_MODULE) */
-
#define LEC_HEADER_LEN 16
struct lecdatahdr_8023 {
@@ -146,14 +138,5 @@ struct lec_vcc_priv {
#define LEC_VCC_PRIV(vcc) ((struct lec_vcc_priv *)((vcc)->user_back))
-int lecd_attach(struct atm_vcc *vcc, int arg);
-int lec_vcc_attach(struct atm_vcc *vcc, void __user *arg);
-int lec_mcast_attach(struct atm_vcc *vcc, int arg);
-struct net_device *get_dev_lec(int itf);
-int send_to_lecd(struct lec_priv *priv,
- atmlec_msg_type type, unsigned char *mac_addr,
- unsigned char *atm_addr, struct sk_buff *data);
-void lec_push(struct atm_vcc *vcc, struct sk_buff *skb);
-
#endif /* _LEC_H_ */
diff --git a/net/atm/lec_arpc.h b/net/atm/lec_arpc.h
index d07fc6a0a2c3..397448094648 100644
--- a/net/atm/lec_arpc.h
+++ b/net/atm/lec_arpc.h
@@ -89,28 +89,4 @@ struct tlv { /* LANE2: Template tlv struct for accessing */
#define LEC_REMOTE_FLAG 0x0001
#define LEC_PERMANENT_FLAG 0x0002
-/* Protos */
-void lec_arp_init(struct lec_priv *priv);
-int lec_mcast_make(struct lec_priv *priv, struct atm_vcc *vcc);
-void lec_arp_destroy(struct lec_priv *priv);
-void lec_vcc_close(struct lec_priv *priv, struct atm_vcc *vcc);
-
-struct atm_vcc *lec_arp_resolve(struct lec_priv *priv,
- unsigned char *mac_to_addr,
- int is_rdesc,
- struct lec_arp_table **ret_entry);
-void lec_vcc_added(struct lec_priv *dev,
- struct atmlec_ioc *ioc_data, struct atm_vcc *vcc,
- void (*old_push)(struct atm_vcc *vcc, struct sk_buff *skb));
-void lec_arp_check_empties(struct lec_priv *priv,
- struct atm_vcc *vcc, struct sk_buff *skb);
-int lec_addr_delete(struct lec_priv *priv,
- unsigned char *mac_addr, unsigned long permanent);
-void lec_flush_complete(struct lec_priv *priv, unsigned long tran_id);
-void lec_arp_update(struct lec_priv *priv,
- unsigned char *mac_addr, unsigned char *atm_addr,
- unsigned long remoteflag, unsigned int targetless_le_arp);
-void lec_set_flush_tran_id(struct lec_priv *priv,
- unsigned char *mac_addr, unsigned long tran_id);
-
#endif
diff --git a/net/atm/mpc.c b/net/atm/mpc.c
index 947b0cc4944f..17a81ebe7e6e 100644
--- a/net/atm/mpc.c
+++ b/net/atm/mpc.c
@@ -564,7 +564,7 @@ static int mpc_send_packet(struct sk_buff *skb, struct net_device *dev)
return retval;
}
-int atm_mpoa_vcc_attach(struct atm_vcc *vcc, void __user *arg)
+static int atm_mpoa_vcc_attach(struct atm_vcc *vcc, void __user *arg)
{
int bytes_left;
struct mpoa_client *mpc;
@@ -753,7 +753,7 @@ static struct atm_dev mpc_dev = {
/* members not explicitly initialised will be 0 */
};
-int atm_mpoa_mpoad_attach (struct atm_vcc *vcc, int arg)
+static int atm_mpoa_mpoad_attach (struct atm_vcc *vcc, int arg)
{
struct mpoa_client *mpc;
struct lec_priv *priv;
@@ -1460,7 +1460,7 @@ static __init int atm_mpoa_init(void)
return 0;
}
-void __exit atm_mpoa_cleanup(void)
+static void __exit atm_mpoa_cleanup(void)
{
struct mpoa_client *mpc, *tmp;
struct atm_mpoa_qos *qos, *nextqos;
diff --git a/net/atm/mpc.h b/net/atm/mpc.h
index cb6cbdd2294b..863ddf6079e1 100644
--- a/net/atm/mpc.h
+++ b/net/atm/mpc.h
@@ -11,10 +11,6 @@
/* kernel -> mpc-daemon */
int msg_to_mpoad(struct k_message *msg, struct mpoa_client *mpc);
-/* Functions for ioctl(ATMMPC_*) operations */
-int atm_mpoa_mpoad_attach(struct atm_vcc *vcc, int arg);
-int atm_mpoa_vcc_attach(struct atm_vcc *vcc, void __user *arg);
-
struct mpoa_client {
struct mpoa_client *next;
struct net_device *dev; /* lec in question */
diff --git a/net/atm/pppoatm.c b/net/atm/pppoatm.c
index 619a9491e8b2..58f4a2b5aebe 100644
--- a/net/atm/pppoatm.c
+++ b/net/atm/pppoatm.c
@@ -345,7 +345,7 @@ static int pppoatm_ioctl(struct socket *sock, unsigned int cmd,
return -ENOIOCTLCMD;
}
-struct atm_ioctl pppoatm_ioctl_ops = {
+static struct atm_ioctl pppoatm_ioctl_ops = {
.owner = THIS_MODULE,
.ioctl = pppoatm_ioctl,
};
diff --git a/net/atm/protocols.h b/net/atm/protocols.h
index 0d658fa8a611..acdfc856222d 100644
--- a/net/atm/protocols.h
+++ b/net/atm/protocols.h
@@ -6,8 +6,6 @@
#ifndef NET_ATM_PROTOCOLS_H
#define NET_ATM_PROTOCOLS_H
-void atm_push_raw(struct atm_vcc *vcc,struct sk_buff *skb);
-
int atm_init_aal0(struct atm_vcc *vcc); /* "raw" AAL0 */
int atm_init_aal34(struct atm_vcc *vcc);/* "raw" AAL3/4 transport */
int atm_init_aal5(struct atm_vcc *vcc); /* "raw" AAL5 transport */
diff --git a/net/atm/raw.c b/net/atm/raw.c
index ddfe15f75fff..4a0466e91aa6 100644
--- a/net/atm/raw.c
+++ b/net/atm/raw.c
@@ -25,7 +25,7 @@
* SKB == NULL indicates that the link is being closed
*/
-void atm_push_raw(struct atm_vcc *vcc,struct sk_buff *skb)
+static void atm_push_raw(struct atm_vcc *vcc,struct sk_buff *skb)
{
if (skb) {
struct sock *sk = sk_atm(vcc);
diff --git a/net/atm/signaling.c b/net/atm/signaling.c
index e82dd483d617..6ff803154c04 100644
--- a/net/atm/signaling.c
+++ b/net/atm/signaling.c
@@ -136,8 +136,7 @@ static int sigd_send(struct atm_vcc *vcc,struct sk_buff *skb)
vcc = *(struct atm_vcc **) &msg->listen_vcc;
DPRINTK("as_indicate!!!\n");
lock_sock(sk);
- if (sk->sk_ack_backlog ==
- sk->sk_max_ack_backlog) {
+ if (sk_acceptq_is_full(sk)) {
sigd_enq(NULL,as_reject,vcc,NULL,NULL);
dev_kfree_skb(skb);
goto as_indicate_complete;
diff --git a/net/ax25/ax25_in.c b/net/ax25/ax25_in.c
index 514621ef7162..3dc808fde33f 100644
--- a/net/ax25/ax25_in.c
+++ b/net/ax25/ax25_in.c
@@ -358,7 +358,7 @@ static int ax25_rcv(struct sk_buff *skb, struct net_device *dev,
if (sk != NULL) {
bh_lock_sock(sk);
- if (sk->sk_ack_backlog == sk->sk_max_ack_backlog ||
+ if (sk_acceptq_is_full(sk) ||
(make = ax25_make_new(sk, ax25_dev)) == NULL) {
if (mine)
ax25_return_dm(dev, &src, &dest, &dp);
diff --git a/net/bluetooth/l2cap.c b/net/bluetooth/l2cap.c
index 38e25953a2bf..59b58661c1a8 100644
--- a/net/bluetooth/l2cap.c
+++ b/net/bluetooth/l2cap.c
@@ -264,9 +264,6 @@ static void l2cap_sock_destruct(struct sock *sk)
skb_queue_purge(&sk->sk_receive_queue);
skb_queue_purge(&sk->sk_write_queue);
-
- if (sk->sk_protinfo)
- kfree(sk->sk_protinfo);
}
static void l2cap_sock_cleanup_listen(struct sock *parent)
@@ -1415,7 +1412,7 @@ static inline int l2cap_connect_req(struct l2cap_conn *conn, struct l2cap_cmd_hd
result = L2CAP_CR_NO_MEM;
/* Check for backlog size */
- if (parent->sk_ack_backlog > parent->sk_max_ack_backlog) {
+ if (sk_acceptq_is_full(parent)) {
BT_DBG("backlog full %d", parent->sk_ack_backlog);
goto response;
}
diff --git a/net/bluetooth/rfcomm/core.c b/net/bluetooth/rfcomm/core.c
index b5110b5fa408..e9e6fda66f1a 100644
--- a/net/bluetooth/rfcomm/core.c
+++ b/net/bluetooth/rfcomm/core.c
@@ -68,7 +68,7 @@ static DECLARE_MUTEX(rfcomm_sem);
#define rfcomm_lock() down(&rfcomm_sem);
#define rfcomm_unlock() up(&rfcomm_sem);
-unsigned long rfcomm_event;
+static unsigned long rfcomm_event;
static LIST_HEAD(session_list);
static atomic_t terminate, running;
diff --git a/net/bluetooth/rfcomm/sock.c b/net/bluetooth/rfcomm/sock.c
index 0d823f59c440..097e007cd9b0 100644
--- a/net/bluetooth/rfcomm/sock.c
+++ b/net/bluetooth/rfcomm/sock.c
@@ -196,9 +196,6 @@ static void rfcomm_sock_destruct(struct sock *sk)
rfcomm_dlc_unlock(d);
rfcomm_dlc_put(d);
-
- if (sk->sk_protinfo)
- kfree(sk->sk_protinfo);
}
static void rfcomm_sock_cleanup_listen(struct sock *parent)
@@ -838,7 +835,7 @@ int rfcomm_connect_ind(struct rfcomm_session *s, u8 channel, struct rfcomm_dlc *
return 0;
/* Check for backlog size */
- if (parent->sk_ack_backlog > parent->sk_max_ack_backlog) {
+ if (sk_acceptq_is_full(parent)) {
BT_DBG("backlog full %d", parent->sk_ack_backlog);
goto done;
}
diff --git a/net/bluetooth/sco.c b/net/bluetooth/sco.c
index 14d972bfb248..d1361367d749 100644
--- a/net/bluetooth/sco.c
+++ b/net/bluetooth/sco.c
@@ -334,9 +334,6 @@ static void sco_sock_destruct(struct sock *sk)
skb_queue_purge(&sk->sk_receive_queue);
skb_queue_purge(&sk->sk_write_queue);
-
- if (sk->sk_protinfo)
- kfree(sk->sk_protinfo);
}
static void sco_sock_cleanup_listen(struct sock *parent)
diff --git a/net/bridge/br.c b/net/bridge/br.c
index 5515af8c95e8..f8f184942aaf 100644
--- a/net/bridge/br.c
+++ b/net/bridge/br.c
@@ -22,10 +22,6 @@
#include "br_private.h"
-#if defined(CONFIG_ATM_LANE) || defined(CONFIG_ATM_LANE_MODULE)
-#include "../atm/lec.h"
-#endif
-
int (*br_should_route_hook) (struct sk_buff **pskb) = NULL;
static int __init br_init(void)
@@ -39,10 +35,9 @@ static int __init br_init(void)
brioctl_set(br_ioctl_deviceless_stub);
br_handle_frame_hook = br_handle_frame;
-#if defined(CONFIG_ATM_LANE) || defined(CONFIG_ATM_LANE_MODULE)
br_fdb_get_hook = br_fdb_get;
br_fdb_put_hook = br_fdb_put;
-#endif
+
register_netdevice_notifier(&br_device_notifier);
return 0;
@@ -60,10 +55,8 @@ static void __exit br_deinit(void)
synchronize_net();
-#if defined(CONFIG_ATM_LANE) || defined(CONFIG_ATM_LANE_MODULE)
br_fdb_get_hook = NULL;
br_fdb_put_hook = NULL;
-#endif
br_handle_frame_hook = NULL;
br_fdb_fini();
diff --git a/net/bridge/br_private.h b/net/bridge/br_private.h
index 174488aecda4..54d63f1372a0 100644
--- a/net/bridge/br_private.h
+++ b/net/bridge/br_private.h
@@ -216,6 +216,12 @@ extern void br_stp_timer_init(struct net_bridge *br);
extern void br_stp_port_timer_init(struct net_bridge_port *p);
extern unsigned long br_timer_value(const struct timer_list *timer);
+/* br.c */
+extern struct net_bridge_fdb_entry *(*br_fdb_get_hook)(struct net_bridge *br,
+ unsigned char *addr);
+extern void (*br_fdb_put_hook)(struct net_bridge_fdb_entry *ent);
+
+
#ifdef CONFIG_SYSFS
/* br_sysfs_if.c */
extern int br_sysfs_addif(struct net_bridge_port *p);
diff --git a/net/core/dev.c b/net/core/dev.c
index c4abd7add7cc..42344d903692 100644
--- a/net/core/dev.c
+++ b/net/core/dev.c
@@ -1427,13 +1427,10 @@ int netif_rx(struct sk_buff *skb)
struct softnet_data *queue;
unsigned long flags;
-#ifdef CONFIG_NETPOLL
- if (skb->dev->netpoll_rx && netpoll_rx(skb)) {
- kfree_skb(skb);
+ /* if netpoll wants it, pretend we never saw it */
+ if (netpoll_rx(skb))
return NET_RX_DROP;
- }
-#endif
-
+
if (!skb->stamp.tv_sec)
net_timestamp(&skb->stamp);
@@ -1561,6 +1558,10 @@ static __inline__ int deliver_skb(struct sk_buff *skb,
#if defined(CONFIG_BRIDGE) || defined (CONFIG_BRIDGE_MODULE)
int (*br_handle_frame_hook)(struct net_bridge_port *p, struct sk_buff **pskb);
+struct net_bridge;
+struct net_bridge_fdb_entry *(*br_fdb_get_hook)(struct net_bridge *br,
+ unsigned char *addr);
+void (*br_fdb_put_hook)(struct net_bridge_fdb_entry *ent);
static __inline__ int handle_bridge(struct sk_buff **pskb,
struct packet_type **pt_prev, int *ret)
@@ -1629,12 +1630,9 @@ int netif_receive_skb(struct sk_buff *skb)
int ret = NET_RX_DROP;
unsigned short type;
-#ifdef CONFIG_NETPOLL
- if (skb->dev->netpoll_rx && skb->dev->poll && netpoll_rx(skb)) {
- kfree_skb(skb);
+ /* if we've gotten here through NAPI, check netpoll */
+ if (skb->dev->poll && netpoll_rx(skb))
return NET_RX_DROP;
- }
-#endif
if (!skb->stamp.tv_sec)
net_timestamp(&skb->stamp);
@@ -1781,8 +1779,10 @@ static void net_rx_action(struct softirq_action *h)
dev = list_entry(queue->poll_list.next,
struct net_device, poll_list);
+ netpoll_poll_lock(dev);
if (dev->quota <= 0 || dev->poll(dev, &budget)) {
+ netpoll_poll_unlock(dev);
local_irq_disable();
list_del(&dev->poll_list);
list_add_tail(&dev->poll_list, &queue->poll_list);
@@ -1791,6 +1791,7 @@ static void net_rx_action(struct softirq_action *h)
else
dev->quota = dev->weight;
} else {
+ netpoll_poll_unlock(dev);
dev_put(dev);
local_irq_disable();
}
@@ -3347,6 +3348,8 @@ EXPORT_SYMBOL(dev_get_flags);
#if defined(CONFIG_BRIDGE) || defined(CONFIG_BRIDGE_MODULE)
EXPORT_SYMBOL(br_handle_frame_hook);
+EXPORT_SYMBOL(br_fdb_get_hook);
+EXPORT_SYMBOL(br_fdb_put_hook);
#endif
#ifdef CONFIG_KMOD
diff --git a/net/core/netpoll.c b/net/core/netpoll.c
index 76f4bfe8bd6d..bc3d2896e101 100644
--- a/net/core/netpoll.c
+++ b/net/core/netpoll.c
@@ -18,7 +18,9 @@
#include <linux/interrupt.h>
#include <linux/netpoll.h>
#include <linux/sched.h>
+#include <linux/delay.h>
#include <linux/rcupdate.h>
+#include <linux/workqueue.h>
#include <net/tcp.h>
#include <net/udp.h>
#include <asm/unaligned.h>
@@ -28,18 +30,19 @@
* message gets out even in extreme OOM situations.
*/
-#define MAX_SKBS 32
#define MAX_UDP_CHUNK 1460
+#define MAX_SKBS 32
+#define MAX_QUEUE_DEPTH (MAX_SKBS / 2)
static DEFINE_SPINLOCK(skb_list_lock);
static int nr_skbs;
static struct sk_buff *skbs;
-static DEFINE_SPINLOCK(rx_list_lock);
-static LIST_HEAD(rx_list);
+static DEFINE_SPINLOCK(queue_lock);
+static int queue_depth;
+static struct sk_buff *queue_head, *queue_tail;
static atomic_t trapped;
-static DEFINE_SPINLOCK(netpoll_poll_lock);
#define NETPOLL_RX_ENABLED 1
#define NETPOLL_RX_DROP 2
@@ -50,6 +53,50 @@ static DEFINE_SPINLOCK(netpoll_poll_lock);
static void zap_completion_queue(void);
+static void queue_process(void *p)
+{
+ unsigned long flags;
+ struct sk_buff *skb;
+
+ while (queue_head) {
+ spin_lock_irqsave(&queue_lock, flags);
+
+ skb = queue_head;
+ queue_head = skb->next;
+ if (skb == queue_tail)
+ queue_head = NULL;
+
+ queue_depth--;
+
+ spin_unlock_irqrestore(&queue_lock, flags);
+
+ dev_queue_xmit(skb);
+ }
+}
+
+static DECLARE_WORK(send_queue, queue_process, NULL);
+
+void netpoll_queue(struct sk_buff *skb)
+{
+ unsigned long flags;
+
+ if (queue_depth == MAX_QUEUE_DEPTH) {
+ __kfree_skb(skb);
+ return;
+ }
+
+ spin_lock_irqsave(&queue_lock, flags);
+ if (!queue_head)
+ queue_head = skb;
+ else
+ queue_tail->next = skb;
+ queue_tail = skb;
+ queue_depth++;
+ spin_unlock_irqrestore(&queue_lock, flags);
+
+ schedule_work(&send_queue);
+}
+
static int checksum_udp(struct sk_buff *skb, struct udphdr *uh,
unsigned short ulen, u32 saddr, u32 daddr)
{
@@ -66,8 +113,15 @@ static int checksum_udp(struct sk_buff *skb, struct udphdr *uh,
}
/*
- * Check whether delayed processing was scheduled for our current CPU,
- * and then manually invoke NAPI polling to pump data off the card.
+ * Check whether delayed processing was scheduled for our NIC. If so,
+ * we attempt to grab the poll lock and use ->poll() to pump the card.
+ * If this fails, either we've recursed in ->poll() or it's already
+ * running on another CPU.
+ *
+ * Note: we don't mask interrupts with this lock because we're using
+ * trylock here and interrupts are already disabled in the softirq
+ * case. Further, we test the poll_owner to avoid recursion on UP
+ * systems where the lock doesn't exist.
*
* In cases where there is bi-directional communications, reading only
* one message at a time can lead to packets being dropped by the
@@ -77,22 +131,19 @@ static int checksum_udp(struct sk_buff *skb, struct udphdr *uh,
static void poll_napi(struct netpoll *np)
{
int budget = 16;
- unsigned long flags;
- struct softnet_data *queue;
- spin_lock_irqsave(&netpoll_poll_lock, flags);
- queue = &__get_cpu_var(softnet_data);
if (test_bit(__LINK_STATE_RX_SCHED, &np->dev->state) &&
- !list_empty(&queue->poll_list)) {
- np->dev->netpoll_rx |= NETPOLL_RX_DROP;
+ np->poll_owner != smp_processor_id() &&
+ spin_trylock(&np->poll_lock)) {
+ np->rx_flags |= NETPOLL_RX_DROP;
atomic_inc(&trapped);
np->dev->poll(np->dev, &budget);
atomic_dec(&trapped);
- np->dev->netpoll_rx &= ~NETPOLL_RX_DROP;
+ np->rx_flags &= ~NETPOLL_RX_DROP;
+ spin_unlock(&np->poll_lock);
}
- spin_unlock_irqrestore(&netpoll_poll_lock, flags);
}
void netpoll_poll(struct netpoll *np)
@@ -142,7 +193,10 @@ static void zap_completion_queue(void)
while (clist != NULL) {
struct sk_buff *skb = clist;
clist = clist->next;
- __kfree_skb(skb);
+ if(skb->destructor)
+ dev_kfree_skb_any(skb); /* put this one back */
+ else
+ __kfree_skb(skb);
}
}
@@ -197,6 +251,16 @@ repeat:
return;
}
+ /* avoid recursion */
+ if(np->poll_owner == smp_processor_id() ||
+ np->dev->xmit_lock_owner == smp_processor_id()) {
+ if (np->drop)
+ np->drop(skb);
+ else
+ __kfree_skb(skb);
+ return;
+ }
+
spin_lock(&np->dev->xmit_lock);
np->dev->xmit_lock_owner = smp_processor_id();
@@ -269,6 +333,8 @@ void netpoll_send_udp(struct netpoll *np, const char *msg, int len)
memcpy(eth->h_source, np->local_mac, 6);
memcpy(eth->h_dest, np->remote_mac, 6);
+ skb->dev = np->dev;
+
netpoll_send_skb(np, skb);
}
@@ -279,18 +345,7 @@ static void arp_reply(struct sk_buff *skb)
int size, type = ARPOP_REPLY, ptype = ETH_P_ARP;
u32 sip, tip;
struct sk_buff *send_skb;
- unsigned long flags;
- struct list_head *p;
- struct netpoll *np = NULL;
-
- spin_lock_irqsave(&rx_list_lock, flags);
- list_for_each(p, &rx_list) {
- np = list_entry(p, struct netpoll, rx_list);
- if ( np->dev == skb->dev )
- break;
- np = NULL;
- }
- spin_unlock_irqrestore(&rx_list_lock, flags);
+ struct netpoll *np = skb->dev->np;
if (!np) return;
@@ -368,15 +423,15 @@ static void arp_reply(struct sk_buff *skb)
netpoll_send_skb(np, send_skb);
}
-int netpoll_rx(struct sk_buff *skb)
+int __netpoll_rx(struct sk_buff *skb)
{
int proto, len, ulen;
struct iphdr *iph;
struct udphdr *uh;
- struct netpoll *np;
- struct list_head *p;
- unsigned long flags;
+ struct netpoll *np = skb->dev->np;
+ if (!np->rx_hook)
+ goto out;
if (skb->dev->type != ARPHRD_ETHER)
goto out;
@@ -420,32 +475,27 @@ int netpoll_rx(struct sk_buff *skb)
goto out;
if (checksum_udp(skb, uh, ulen, iph->saddr, iph->daddr) < 0)
goto out;
+ if (np->local_ip && np->local_ip != ntohl(iph->daddr))
+ goto out;
+ if (np->remote_ip && np->remote_ip != ntohl(iph->saddr))
+ goto out;
+ if (np->local_port && np->local_port != ntohs(uh->dest))
+ goto out;
- spin_lock_irqsave(&rx_list_lock, flags);
- list_for_each(p, &rx_list) {
- np = list_entry(p, struct netpoll, rx_list);
- if (np->dev && np->dev != skb->dev)
- continue;
- if (np->local_ip && np->local_ip != ntohl(iph->daddr))
- continue;
- if (np->remote_ip && np->remote_ip != ntohl(iph->saddr))
- continue;
- if (np->local_port && np->local_port != ntohs(uh->dest))
- continue;
-
- spin_unlock_irqrestore(&rx_list_lock, flags);
-
- if (np->rx_hook)
- np->rx_hook(np, ntohs(uh->source),
- (char *)(uh+1),
- ulen - sizeof(struct udphdr));
+ np->rx_hook(np, ntohs(uh->source),
+ (char *)(uh+1),
+ ulen - sizeof(struct udphdr));
+ kfree_skb(skb);
+ return 1;
+
+out:
+ if (atomic_read(&trapped)) {
+ kfree_skb(skb);
return 1;
}
- spin_unlock_irqrestore(&rx_list_lock, flags);
-out:
- return atomic_read(&trapped);
+ return 0;
}
int netpoll_parse_options(struct netpoll *np, char *opt)
@@ -561,6 +611,9 @@ int netpoll_setup(struct netpoll *np)
struct net_device *ndev = NULL;
struct in_device *in_dev;
+ np->poll_lock = SPIN_LOCK_UNLOCKED;
+ np->poll_owner = -1;
+
if (np->dev_name)
ndev = dev_get_by_name(np->dev_name);
if (!ndev) {
@@ -568,6 +621,10 @@ int netpoll_setup(struct netpoll *np)
np->name, np->dev_name);
return -1;
}
+
+ np->dev = ndev;
+ ndev->np = np;
+
if (!ndev->poll_controller) {
printk(KERN_ERR "%s: %s doesn't support polling, aborting.\n",
np->name, np->dev_name);
@@ -575,16 +632,13 @@ int netpoll_setup(struct netpoll *np)
}
if (!netif_running(ndev)) {
- unsigned short oflags;
unsigned long atmost, atleast;
printk(KERN_INFO "%s: device %s not up yet, forcing it\n",
np->name, np->dev_name);
- oflags = ndev->flags;
-
rtnl_shlock();
- if (dev_change_flags(ndev, oflags | IFF_UP) < 0) {
+ if (dev_change_flags(ndev, ndev->flags | IFF_UP) < 0) {
printk(KERN_ERR "%s: failed to open %s\n",
np->name, np->dev_name);
rtnl_shunlock();
@@ -593,7 +647,7 @@ int netpoll_setup(struct netpoll *np)
rtnl_shunlock();
atleast = jiffies + HZ/10;
- atmost = jiffies + 10*HZ;
+ atmost = jiffies + 4*HZ;
while (!netif_carrier_ok(ndev)) {
if (time_after(jiffies, atmost)) {
printk(KERN_NOTICE
@@ -604,12 +658,16 @@ int netpoll_setup(struct netpoll *np)
cond_resched();
}
+ /* If carrier appears to come up instantly, we don't
+ * trust it and pause so that we don't pump all our
+ * queued console messages into the bitbucket.
+ */
+
if (time_before(jiffies, atleast)) {
- printk(KERN_NOTICE "%s: carrier detect appears flaky,"
- " waiting 10 seconds\n",
+ printk(KERN_NOTICE "%s: carrier detect appears"
+ " untrustworthy, waiting 4 seconds\n",
np->name);
- while (time_before(jiffies, atmost))
- cond_resched();
+ msleep(4000);
}
}
@@ -633,36 +691,22 @@ int netpoll_setup(struct netpoll *np)
np->name, HIPQUAD(np->local_ip));
}
- np->dev = ndev;
-
- if(np->rx_hook) {
- unsigned long flags;
-
- np->dev->netpoll_rx = NETPOLL_RX_ENABLED;
-
- spin_lock_irqsave(&rx_list_lock, flags);
- list_add(&np->rx_list, &rx_list);
- spin_unlock_irqrestore(&rx_list_lock, flags);
- }
+ if(np->rx_hook)
+ np->rx_flags = NETPOLL_RX_ENABLED;
return 0;
+
release:
+ ndev->np = NULL;
+ np->dev = NULL;
dev_put(ndev);
return -1;
}
void netpoll_cleanup(struct netpoll *np)
{
- if (np->rx_hook) {
- unsigned long flags;
-
- spin_lock_irqsave(&rx_list_lock, flags);
- list_del(&np->rx_list);
- spin_unlock_irqrestore(&rx_list_lock, flags);
- }
-
if (np->dev)
- np->dev->netpoll_rx = 0;
+ np->dev->np = NULL;
dev_put(np->dev);
np->dev = NULL;
}
@@ -687,3 +731,4 @@ EXPORT_SYMBOL(netpoll_setup);
EXPORT_SYMBOL(netpoll_cleanup);
EXPORT_SYMBOL(netpoll_send_udp);
EXPORT_SYMBOL(netpoll_poll);
+EXPORT_SYMBOL(netpoll_queue);
diff --git a/net/decnet/dn_nsp_in.c b/net/decnet/dn_nsp_in.c
index d8e24d47d044..202dbde9850d 100644
--- a/net/decnet/dn_nsp_in.c
+++ b/net/decnet/dn_nsp_in.c
@@ -324,7 +324,7 @@ err_out:
static void dn_nsp_conn_init(struct sock *sk, struct sk_buff *skb)
{
- if (sk->sk_ack_backlog >= sk->sk_max_ack_backlog) {
+ if (sk_acceptq_is_full(sk)) {
kfree_skb(skb);
return;
}
diff --git a/net/ipv4/ip_output.c b/net/ipv4/ip_output.c
index 044fb2e5dfd2..30ab7b6ab761 100644
--- a/net/ipv4/ip_output.c
+++ b/net/ipv4/ip_output.c
@@ -498,7 +498,7 @@ int ip_fragment(struct sk_buff *skb, int (*output)(struct sk_buff*))
skb->data_len = first_len - skb_headlen(skb);
skb->len = first_len;
iph->tot_len = htons(first_len);
- iph->frag_off |= htons(IP_MF);
+ iph->frag_off = htons(IP_MF);
ip_send_check(iph);
for (;;) {
@@ -1152,7 +1152,8 @@ int ip_push_pending_frames(struct sock *sk)
* If local_df is set too, we still allow to fragment this frame
* locally. */
if (inet->pmtudisc == IP_PMTUDISC_DO ||
- (!skb_shinfo(skb)->frag_list && ip_dont_fragment(sk, &rt->u.dst)))
+ (skb->len <= dst_mtu(&rt->u.dst) &&
+ ip_dont_fragment(sk, &rt->u.dst)))
df = htons(IP_DF);
if (inet->cork.flags & IPCORK_OPT)
diff --git a/net/ipv4/multipath.c b/net/ipv4/multipath.c
index 4e0bf77f426f..4e9ca7c76407 100644
--- a/net/ipv4/multipath.c
+++ b/net/ipv4/multipath.c
@@ -12,14 +12,15 @@
#include <net/ip_mp_alg.h>
static DEFINE_SPINLOCK(alg_table_lock);
-struct ip_mp_alg_ops *ip_mp_alg_table[IP_MP_ALG_MAX];
+struct ip_mp_alg_ops *ip_mp_alg_table[IP_MP_ALG_MAX + 1];
int multipath_alg_register(struct ip_mp_alg_ops *ops, enum ip_mp_alg n)
{
struct ip_mp_alg_ops **slot;
int err;
- if (n < IP_MP_ALG_NONE || n > IP_MP_ALG_MAX)
+ if (n < IP_MP_ALG_NONE || n > IP_MP_ALG_MAX ||
+ !ops->mp_alg_select_route)
return -EINVAL;
spin_lock(&alg_table_lock);
diff --git a/net/ipv4/multipath_wrandom.c b/net/ipv4/multipath_wrandom.c
index d94fc02eef38..10b23e1bece6 100644
--- a/net/ipv4/multipath_wrandom.c
+++ b/net/ipv4/multipath_wrandom.c
@@ -248,7 +248,7 @@ static void wrandom_set_nhinfo(__u32 network,
target_route->gw = nh->nh_gw;
target_route->oif = nh->nh_oif;
- memset(&target_route->rcu, sizeof(struct rcu_head), 0);
+ memset(&target_route->rcu, 0, sizeof(struct rcu_head));
INIT_LIST_HEAD(&target_route->dests);
list_add_rcu(&target_route->list, &state[state_idx].head);
@@ -271,7 +271,7 @@ static void wrandom_set_nhinfo(__u32 network,
target_dest->network = network;
target_dest->netmask = netmask;
target_dest->prefixlen = prefixlen;
- memset(&target_dest->rcu, sizeof(struct rcu_head), 0);
+ memset(&target_dest->rcu, 0, sizeof(struct rcu_head));
list_add_rcu(&target_dest->list, &target_route->dests);
}
diff --git a/net/ipv4/route.c b/net/ipv4/route.c
index 9ccee2cc5acb..9f91a116d919 100644
--- a/net/ipv4/route.c
+++ b/net/ipv4/route.c
@@ -148,7 +148,6 @@ static struct dst_entry *ipv4_negative_advice(struct dst_entry *dst);
static void ipv4_link_failure(struct sk_buff *skb);
static void ip_rt_update_pmtu(struct dst_entry *dst, u32 mtu);
static int rt_garbage_collect(void);
-static inline int compare_keys(struct flowi *fl1, struct flowi *fl2);
static struct dst_ops ipv4_dst_ops = {
@@ -520,6 +519,13 @@ static inline u32 rt_score(struct rtable *rt)
return score;
}
+static inline int compare_keys(struct flowi *fl1, struct flowi *fl2)
+{
+ return memcmp(&fl1->nl_u.ip4_u, &fl2->nl_u.ip4_u, sizeof(fl1->nl_u.ip4_u)) == 0 &&
+ fl1->oif == fl2->oif &&
+ fl1->iif == fl2->iif;
+}
+
#ifdef CONFIG_IP_ROUTE_MULTIPATH_CACHED
static struct rtable **rt_remove_balanced_route(struct rtable **chain_head,
struct rtable *expentry,
@@ -858,13 +864,6 @@ work_done:
out: return 0;
}
-static inline int compare_keys(struct flowi *fl1, struct flowi *fl2)
-{
- return memcmp(&fl1->nl_u.ip4_u, &fl2->nl_u.ip4_u, sizeof(fl1->nl_u.ip4_u)) == 0 &&
- fl1->oif == fl2->oif &&
- fl1->iif == fl2->iif;
-}
-
static int rt_intern_hash(unsigned hash, struct rtable *rt, struct rtable **rp)
{
struct rtable *rth, **rthp;
diff --git a/net/ipv4/tcp_input.c b/net/ipv4/tcp_input.c
index 4fe296458e6b..250492735902 100644
--- a/net/ipv4/tcp_input.c
+++ b/net/ipv4/tcp_input.c
@@ -1654,7 +1654,10 @@ static void DBGUNDO(struct sock *sk, struct tcp_sock *tp, const char *msg)
static void tcp_undo_cwr(struct tcp_sock *tp, int undo)
{
if (tp->prior_ssthresh) {
- tp->snd_cwnd = max(tp->snd_cwnd, tp->snd_ssthresh<<1);
+ if (tcp_is_bic(tp))
+ tp->snd_cwnd = max(tp->snd_cwnd, tp->bictcp.last_max_cwnd);
+ else
+ tp->snd_cwnd = max(tp->snd_cwnd, tp->snd_ssthresh<<1);
if (undo && tp->prior_ssthresh > tp->snd_ssthresh) {
tp->snd_ssthresh = tp->prior_ssthresh;
diff --git a/net/irda/af_irda.c b/net/irda/af_irda.c
index 32b38ce594ac..a6f32b96d3b5 100644
--- a/net/irda/af_irda.c
+++ b/net/irda/af_irda.c
@@ -88,10 +88,8 @@ static int irda_data_indication(void *instance, void *sap, struct sk_buff *skb)
IRDA_DEBUG(3, "%s()\n", __FUNCTION__);
self = instance;
- ASSERT(self != NULL, return -1;);
-
sk = instance;
- ASSERT(sk != NULL, return -1;);
+ IRDA_ASSERT(sk != NULL, return -1;);
err = sock_queue_rcv_skb(sk, skb);
if (err) {
@@ -206,14 +204,16 @@ static void irda_connect_confirm(void *instance, void *sap,
switch (sk->sk_type) {
case SOCK_STREAM:
if (max_sdu_size != 0) {
- ERROR("%s: max_sdu_size must be 0\n", __FUNCTION__);
+ IRDA_ERROR("%s: max_sdu_size must be 0\n",
+ __FUNCTION__);
return;
}
self->max_data_size = irttp_get_max_seg_size(self->tsap);
break;
case SOCK_SEQPACKET:
if (max_sdu_size == 0) {
- ERROR("%s: max_sdu_size cannot be 0\n", __FUNCTION__);
+ IRDA_ERROR("%s: max_sdu_size cannot be 0\n",
+ __FUNCTION__);
return;
}
self->max_data_size = max_sdu_size;
@@ -265,7 +265,8 @@ static void irda_connect_indication(void *instance, void *sap,
switch (sk->sk_type) {
case SOCK_STREAM:
if (max_sdu_size != 0) {
- ERROR("%s: max_sdu_size must be 0\n", __FUNCTION__);
+ IRDA_ERROR("%s: max_sdu_size must be 0\n",
+ __FUNCTION__);
kfree_skb(skb);
return;
}
@@ -273,7 +274,8 @@ static void irda_connect_indication(void *instance, void *sap,
break;
case SOCK_SEQPACKET:
if (max_sdu_size == 0) {
- ERROR("%s: max_sdu_size cannot be 0\n", __FUNCTION__);
+ IRDA_ERROR("%s: max_sdu_size cannot be 0\n",
+ __FUNCTION__);
kfree_skb(skb);
return;
}
@@ -304,7 +306,7 @@ static void irda_connect_response(struct irda_sock *self)
IRDA_DEBUG(2, "%s()\n", __FUNCTION__);
- ASSERT(self != NULL, return;);
+ IRDA_ASSERT(self != NULL, return;);
skb = dev_alloc_skb(64);
if (skb == NULL) {
@@ -333,10 +335,8 @@ static void irda_flow_indication(void *instance, void *sap, LOCAL_FLOW flow)
IRDA_DEBUG(2, "%s()\n", __FUNCTION__);
self = instance;
- ASSERT(self != NULL, return;);
-
sk = instance;
- ASSERT(sk != NULL, return;);
+ IRDA_ASSERT(sk != NULL, return;);
switch (flow) {
case FLOW_STOP:
@@ -373,7 +373,7 @@ static void irda_getvalue_confirm(int result, __u16 obj_id,
self = (struct irda_sock *) priv;
if (!self) {
- WARNING("%s: lost myself!\n", __FUNCTION__);
+ IRDA_WARNING("%s: lost myself!\n", __FUNCTION__);
return;
}
@@ -422,7 +422,7 @@ static void irda_selective_discovery_indication(discinfo_t *discovery,
self = (struct irda_sock *) priv;
if (!self) {
- WARNING("%s: lost myself!\n", __FUNCTION__);
+ IRDA_WARNING("%s: lost myself!\n", __FUNCTION__);
return;
}
@@ -448,7 +448,7 @@ static void irda_discovery_timeout(u_long priv)
IRDA_DEBUG(2, "%s()\n", __FUNCTION__);
self = (struct irda_sock *) priv;
- ASSERT(self != NULL, return;);
+ IRDA_ASSERT(self != NULL, return;);
/* Nothing for the caller */
self->cachelog = NULL;
@@ -470,7 +470,7 @@ static int irda_open_tsap(struct irda_sock *self, __u8 tsap_sel, char *name)
notify_t notify;
if (self->tsap) {
- WARNING("%s: busy!\n", __FUNCTION__);
+ IRDA_WARNING("%s: busy!\n", __FUNCTION__);
return -EBUSY;
}
@@ -510,7 +510,7 @@ static int irda_open_lsap(struct irda_sock *self, int pid)
notify_t notify;
if (self->lsap) {
- WARNING("%s(), busy!\n", __FUNCTION__);
+ IRDA_WARNING("%s(), busy!\n", __FUNCTION__);
return -EBUSY;
}
@@ -545,10 +545,11 @@ static int irda_find_lsap_sel(struct irda_sock *self, char *name)
{
IRDA_DEBUG(2, "%s(%p, %s)\n", __FUNCTION__, self, name);
- ASSERT(self != NULL, return -1;);
+ IRDA_ASSERT(self != NULL, return -1;);
if (self->iriap) {
- WARNING("%s(): busy with a previous query\n", __FUNCTION__);
+ IRDA_WARNING("%s(): busy with a previous query\n",
+ __FUNCTION__);
return -EBUSY;
}
@@ -633,7 +634,7 @@ static int irda_discover_daddr_and_lsap_sel(struct irda_sock *self, char *name)
IRDA_DEBUG(2, "%s(), name=%s\n", __FUNCTION__, name);
- ASSERT(self != NULL, return -1;);
+ IRDA_ASSERT(self != NULL, return -1;);
/* Ask lmp for the current discovery log
* Note : we have to use irlmp_get_discoveries(), as opposed
@@ -782,7 +783,7 @@ static int irda_bind(struct socket *sock, struct sockaddr *uaddr, int addr_len)
struct irda_sock *self = irda_sk(sk);
int err;
- ASSERT(self != NULL, return -1;);
+ IRDA_ASSERT(self != NULL, return -1;);
IRDA_DEBUG(2, "%s(%p)\n", __FUNCTION__, self);
@@ -839,7 +840,7 @@ static int irda_accept(struct socket *sock, struct socket *newsock, int flags)
IRDA_DEBUG(2, "%s()\n", __FUNCTION__);
- ASSERT(self != NULL, return -1;);
+ IRDA_ASSERT(self != NULL, return -1;);
err = irda_create(newsock, sk->sk_protocol);
if (err)
@@ -908,7 +909,7 @@ static int irda_accept(struct socket *sock, struct socket *newsock, int flags)
newsk->sk_state = TCP_ESTABLISHED;
new = irda_sk(newsk);
- ASSERT(new != NULL, return -1;);
+ IRDA_ASSERT(new != NULL, return -1;);
/* Now attach up the new socket */
new->tsap = irttp_dup(self->tsap, new);
@@ -1136,7 +1137,8 @@ static int irda_create(struct socket *sock, int protocol)
self->max_sdu_size_rx = TTP_SAR_UNBOUND;
break;
default:
- ERROR("%s: protocol not supported!\n", __FUNCTION__);
+ IRDA_ERROR("%s: protocol not supported!\n",
+ __FUNCTION__);
return -ESOCKTNOSUPPORT;
}
break;
@@ -1164,7 +1166,7 @@ static void irda_destroy_socket(struct irda_sock *self)
{
IRDA_DEBUG(2, "%s(%p)\n", __FUNCTION__, self);
- ASSERT(self != NULL, return;);
+ IRDA_ASSERT(self != NULL, return;);
/* Unregister with IrLMP */
irlmp_unregister_client(self->ckey);
@@ -1283,7 +1285,7 @@ static int irda_sendmsg(struct kiocb *iocb, struct socket *sock,
return -ENOTCONN;
self = irda_sk(sk);
- ASSERT(self != NULL, return -1;);
+ IRDA_ASSERT(self != NULL, return -1;);
/* Check if IrTTP is wants us to slow down */
@@ -1346,7 +1348,7 @@ static int irda_recvmsg_dgram(struct kiocb *iocb, struct socket *sock,
IRDA_DEBUG(4, "%s()\n", __FUNCTION__);
- ASSERT(self != NULL, return -1;);
+ IRDA_ASSERT(self != NULL, return -1;);
skb = skb_recv_datagram(sk, flags & ~MSG_DONTWAIT,
flags & MSG_DONTWAIT, &err);
@@ -1398,7 +1400,7 @@ static int irda_recvmsg_stream(struct kiocb *iocb, struct socket *sock,
IRDA_DEBUG(3, "%s()\n", __FUNCTION__);
- ASSERT(self != NULL, return -1;);
+ IRDA_ASSERT(self != NULL, return -1;);
if (sock->flags & __SO_ACCEPTCON)
return(-EINVAL);
@@ -1535,7 +1537,7 @@ static int irda_sendmsg_dgram(struct kiocb *iocb, struct socket *sock,
return -ENOTCONN;
self = irda_sk(sk);
- ASSERT(self != NULL, return -1;);
+ IRDA_ASSERT(self != NULL, return -1;);
/*
* Check that we don't send out to big frames. This is an unreliable
@@ -1604,7 +1606,7 @@ static int irda_sendmsg_ultra(struct kiocb *iocb, struct socket *sock,
}
self = irda_sk(sk);
- ASSERT(self != NULL, return -1;);
+ IRDA_ASSERT(self != NULL, return -1;);
/* Check if an address was specified with sendto. Jean II */
if (msg->msg_name) {
@@ -1677,7 +1679,7 @@ static int irda_shutdown(struct socket *sock, int how)
struct sock *sk = sock->sk;
struct irda_sock *self = irda_sk(sk);
- ASSERT(self != NULL, return -1;);
+ IRDA_ASSERT(self != NULL, return -1;);
IRDA_DEBUG(1, "%s(%p)\n", __FUNCTION__, self);
@@ -1838,7 +1840,7 @@ static int irda_setsockopt(struct socket *sock, int level, int optname,
struct ias_attrib * ias_attr; /* Attribute in IAS object */
int opt;
- ASSERT(self != NULL, return -1;);
+ IRDA_ASSERT(self != NULL, return -1;);
IRDA_DEBUG(2, "%s(%p)\n", __FUNCTION__, self);
@@ -2023,8 +2025,8 @@ static int irda_setsockopt(struct socket *sock, int level, int optname,
__FUNCTION__, opt);
self->max_sdu_size_rx = opt;
} else {
- WARNING("%s: not allowed to set MAXSDUSIZE for this socket type!\n",
- __FUNCTION__);
+ IRDA_WARNING("%s: not allowed to set MAXSDUSIZE for this socket type!\n",
+ __FUNCTION__);
return -ENOPROTOOPT;
}
break;
@@ -2298,8 +2300,8 @@ bed:
/* Check that we can proceed with IAP */
if (self->iriap) {
- WARNING("%s: busy with a previous query\n",
- __FUNCTION__);
+ IRDA_WARNING("%s: busy with a previous query\n",
+ __FUNCTION__);
kfree(ias_opt);
return -EBUSY;
}
diff --git a/net/irda/discovery.c b/net/irda/discovery.c
index d16ef81552cf..c4ba5fa1446a 100644
--- a/net/irda/discovery.c
+++ b/net/irda/discovery.c
@@ -155,7 +155,7 @@ void irlmp_expire_discoveries(hashbin_t *log, __u32 saddr, int force)
int n; /* Size of the full log */
int i = 0; /* How many we expired */
- ASSERT(log != NULL, return;);
+ IRDA_ASSERT(log != NULL, return;);
IRDA_DEBUG(4, "%s()\n", __FUNCTION__);
spin_lock_irqsave(&log->hb_spinlock, flags);
@@ -226,7 +226,7 @@ void irlmp_dump_discoveries(hashbin_t *log)
{
discovery_t *discovery;
- ASSERT(log != NULL, return;);
+ IRDA_ASSERT(log != NULL, return;);
discovery = (discovery_t *) hashbin_get_first(log);
while (discovery != NULL) {
@@ -270,8 +270,8 @@ struct irda_device_info *irlmp_copy_discoveries(hashbin_t *log, int *pn,
int n; /* Size of the full log */
int i = 0; /* How many we picked */
- ASSERT(pn != NULL, return NULL;);
- ASSERT(log != NULL, return NULL;);
+ IRDA_ASSERT(pn != NULL, return NULL;);
+ IRDA_ASSERT(log != NULL, return NULL;);
/* Save spin lock */
spin_lock_irqsave(&log->hb_spinlock, flags);
@@ -404,7 +404,7 @@ static struct seq_operations discovery_seq_ops = {
static int discovery_seq_open(struct inode *inode, struct file *file)
{
- ASSERT(irlmp != NULL, return -EINVAL;);
+ IRDA_ASSERT(irlmp != NULL, return -EINVAL;);
return seq_open(file, &discovery_seq_ops);
}
diff --git a/net/irda/ircomm/ircomm_core.c b/net/irda/ircomm/ircomm_core.c
index 36b75261d0ca..286881978858 100644
--- a/net/irda/ircomm/ircomm_core.c
+++ b/net/irda/ircomm/ircomm_core.c
@@ -72,7 +72,7 @@ static int __init ircomm_init(void)
{
ircomm = hashbin_new(HB_LOCK);
if (ircomm == NULL) {
- ERROR("%s(), can't allocate hashbin!\n", __FUNCTION__);
+ IRDA_ERROR("%s(), can't allocate hashbin!\n", __FUNCTION__);
return -ENOMEM;
}
@@ -84,7 +84,7 @@ static int __init ircomm_init(void)
}
#endif /* CONFIG_PROC_FS */
- MESSAGE("IrCOMM protocol (Dag Brattli)\n");
+ IRDA_MESSAGE("IrCOMM protocol (Dag Brattli)\n");
return 0;
}
@@ -114,7 +114,7 @@ struct ircomm_cb *ircomm_open(notify_t *notify, __u8 service_type, int line)
IRDA_DEBUG(2, "%s(), service_type=0x%02x\n", __FUNCTION__ ,
service_type);
- ASSERT(ircomm != NULL, return NULL;);
+ IRDA_ASSERT(ircomm != NULL, return NULL;);
self = kmalloc(sizeof(struct ircomm_cb), GFP_ATOMIC);
if (self == NULL)
@@ -190,14 +190,14 @@ int ircomm_close(struct ircomm_cb *self)
{
struct ircomm_cb *entry;
- ASSERT(self != NULL, return -EIO;);
- ASSERT(self->magic == IRCOMM_MAGIC, return -EIO;);
+ IRDA_ASSERT(self != NULL, return -EIO;);
+ IRDA_ASSERT(self->magic == IRCOMM_MAGIC, return -EIO;);
IRDA_DEBUG(0, "%s()\n", __FUNCTION__ );
entry = hashbin_remove(ircomm, self->line, NULL);
- ASSERT(entry == self, return -1;);
+ IRDA_ASSERT(entry == self, return -1;);
return __ircomm_close(self);
}
@@ -220,8 +220,8 @@ int ircomm_connect_request(struct ircomm_cb *self, __u8 dlsap_sel,
IRDA_DEBUG(2 , "%s()\n", __FUNCTION__ );
- ASSERT(self != NULL, return -1;);
- ASSERT(self->magic == IRCOMM_MAGIC, return -1;);
+ IRDA_ASSERT(self != NULL, return -1;);
+ IRDA_ASSERT(self->magic == IRCOMM_MAGIC, return -1;);
self->service_type= service_type;
@@ -277,8 +277,8 @@ int ircomm_connect_response(struct ircomm_cb *self, struct sk_buff *userdata)
{
int ret;
- ASSERT(self != NULL, return -1;);
- ASSERT(self->magic == IRCOMM_MAGIC, return -1;);
+ IRDA_ASSERT(self != NULL, return -1;);
+ IRDA_ASSERT(self->magic == IRCOMM_MAGIC, return -1;);
IRDA_DEBUG(4, "%s()\n", __FUNCTION__ );
@@ -322,9 +322,9 @@ int ircomm_data_request(struct ircomm_cb *self, struct sk_buff *skb)
IRDA_DEBUG(4, "%s()\n", __FUNCTION__ );
- ASSERT(self != NULL, return -EFAULT;);
- ASSERT(self->magic == IRCOMM_MAGIC, return -EFAULT;);
- ASSERT(skb != NULL, return -EFAULT;);
+ IRDA_ASSERT(self != NULL, return -EFAULT;);
+ IRDA_ASSERT(self->magic == IRCOMM_MAGIC, return -EFAULT;);
+ IRDA_ASSERT(skb != NULL, return -EFAULT;);
ret = ircomm_do_event(self, IRCOMM_DATA_REQUEST, skb, NULL);
@@ -343,7 +343,7 @@ void ircomm_data_indication(struct ircomm_cb *self, struct sk_buff *skb)
{
IRDA_DEBUG(4, "%s()\n", __FUNCTION__ );
- ASSERT(skb->len > 0, return;);
+ IRDA_ASSERT(skb->len > 0, return;);
if (self->notify.data_indication)
self->notify.data_indication(self->notify.instance, self, skb);
@@ -362,7 +362,7 @@ void ircomm_process_data(struct ircomm_cb *self, struct sk_buff *skb)
{
int clen;
- ASSERT(skb->len > 0, return;);
+ IRDA_ASSERT(skb->len > 0, return;);
clen = skb->data[0];
@@ -397,9 +397,9 @@ int ircomm_control_request(struct ircomm_cb *self, struct sk_buff *skb)
IRDA_DEBUG(2, "%s()\n", __FUNCTION__ );
- ASSERT(self != NULL, return -EFAULT;);
- ASSERT(self->magic == IRCOMM_MAGIC, return -EFAULT;);
- ASSERT(skb != NULL, return -EFAULT;);
+ IRDA_ASSERT(self != NULL, return -EFAULT;);
+ IRDA_ASSERT(self->magic == IRCOMM_MAGIC, return -EFAULT;);
+ IRDA_ASSERT(skb != NULL, return -EFAULT;);
ret = ircomm_do_event(self, IRCOMM_CONTROL_REQUEST, skb, NULL);
@@ -455,8 +455,8 @@ int ircomm_disconnect_request(struct ircomm_cb *self, struct sk_buff *userdata)
IRDA_DEBUG(2, "%s()\n", __FUNCTION__ );
- ASSERT(self != NULL, return -1;);
- ASSERT(self->magic == IRCOMM_MAGIC, return -1;);
+ IRDA_ASSERT(self != NULL, return -1;);
+ IRDA_ASSERT(self->magic == IRCOMM_MAGIC, return -1;);
ret = ircomm_do_event(self, IRCOMM_DISCONNECT_REQUEST, userdata,
&info);
@@ -476,7 +476,7 @@ void ircomm_disconnect_indication(struct ircomm_cb *self, struct sk_buff *skb,
{
IRDA_DEBUG(2, "%s()\n", __FUNCTION__ );
- ASSERT(info != NULL, return;);
+ IRDA_ASSERT(info != NULL, return;);
if (self->notify.disconnect_indication) {
self->notify.disconnect_indication(self->notify.instance, self,
@@ -496,8 +496,8 @@ void ircomm_flow_request(struct ircomm_cb *self, LOCAL_FLOW flow)
{
IRDA_DEBUG(2, "%s()\n", __FUNCTION__ );
- ASSERT(self != NULL, return;);
- ASSERT(self->magic == IRCOMM_MAGIC, return;);
+ IRDA_ASSERT(self != NULL, return;);
+ IRDA_ASSERT(self->magic == IRCOMM_MAGIC, return;);
if (self->service_type == IRCOMM_3_WIRE_RAW)
return;
@@ -541,7 +541,7 @@ static int ircomm_seq_show(struct seq_file *seq, void *v)
{
const struct ircomm_cb *self = v;
- ASSERT(self->magic == IRCOMM_MAGIC, return -EINVAL; );
+ IRDA_ASSERT(self->magic == IRCOMM_MAGIC, return -EINVAL; );
if(self->line < 0x10)
seq_printf(seq, "ircomm%d", self->line);
diff --git a/net/irda/ircomm/ircomm_lmp.c b/net/irda/ircomm/ircomm_lmp.c
index 3a0dc925a4aa..d9097207aed3 100644
--- a/net/irda/ircomm/ircomm_lmp.c
+++ b/net/irda/ircomm/ircomm_lmp.c
@@ -92,7 +92,8 @@ static int ircomm_lmp_connect_response(struct ircomm_cb *self,
* Check that the client has reserved enough space for
* headers
*/
- ASSERT(skb_headroom(userdata) >= LMP_MAX_HEADER, return -1;);
+ IRDA_ASSERT(skb_headroom(userdata) >= LMP_MAX_HEADER,
+ return -1;);
/* Don't forget to refcount it - should be NULL anyway */
skb_get(userdata);
@@ -144,7 +145,7 @@ static void ircomm_lmp_flow_control(struct sk_buff *skb)
struct ircomm_cb *self;
int line;
- ASSERT(skb != NULL, return;);
+ IRDA_ASSERT(skb != NULL, return;);
cb = (struct irda_skb_cb *) skb->cb;
@@ -158,8 +159,8 @@ static void ircomm_lmp_flow_control(struct sk_buff *skb)
return;
}
- ASSERT(self != NULL, return;);
- ASSERT(self->magic == IRCOMM_MAGIC, return;);
+ IRDA_ASSERT(self != NULL, return;);
+ IRDA_ASSERT(self->magic == IRCOMM_MAGIC, return;);
self->pkt_count--;
@@ -185,7 +186,7 @@ static int ircomm_lmp_data_request(struct ircomm_cb *self,
struct irda_skb_cb *cb;
int ret;
- ASSERT(skb != NULL, return -1;);
+ IRDA_ASSERT(skb != NULL, return -1;);
cb = (struct irda_skb_cb *) skb->cb;
@@ -207,7 +208,7 @@ static int ircomm_lmp_data_request(struct ircomm_cb *self,
}
ret = irlmp_data_request(self->lsap, skb);
if (ret) {
- ERROR("%s(), failed\n", __FUNCTION__);
+ IRDA_ERROR("%s(), failed\n", __FUNCTION__);
/* irlmp_data_request already free the packet */
}
@@ -227,9 +228,9 @@ static int ircomm_lmp_data_indication(void *instance, void *sap,
IRDA_DEBUG(4, "%s()\n", __FUNCTION__ );
- ASSERT(self != NULL, return -1;);
- ASSERT(self->magic == IRCOMM_MAGIC, return -1;);
- ASSERT(skb != NULL, return -1;);
+ IRDA_ASSERT(self != NULL, return -1;);
+ IRDA_ASSERT(self->magic == IRCOMM_MAGIC, return -1;);
+ IRDA_ASSERT(skb != NULL, return -1;);
ircomm_do_event(self, IRCOMM_LMP_DATA_INDICATION, skb, NULL);
@@ -257,10 +258,10 @@ static void ircomm_lmp_connect_confirm(void *instance, void *sap,
IRDA_DEBUG(0, "%s()\n", __FUNCTION__ );
- ASSERT(self != NULL, return;);
- ASSERT(self->magic == IRCOMM_MAGIC, return;);
- ASSERT(skb != NULL, return;);
- ASSERT(qos != NULL, return;);
+ IRDA_ASSERT(self != NULL, return;);
+ IRDA_ASSERT(self->magic == IRCOMM_MAGIC, return;);
+ IRDA_ASSERT(skb != NULL, return;);
+ IRDA_ASSERT(qos != NULL, return;);
info.max_data_size = max_seg_size;
info.max_header_size = max_header_size;
@@ -290,10 +291,10 @@ static void ircomm_lmp_connect_indication(void *instance, void *sap,
IRDA_DEBUG(0, "%s()\n", __FUNCTION__ );
- ASSERT(self != NULL, return;);
- ASSERT(self->magic == IRCOMM_MAGIC, return;);
- ASSERT(skb != NULL, return;);
- ASSERT(qos != NULL, return;);
+ IRDA_ASSERT(self != NULL, return;);
+ IRDA_ASSERT(self->magic == IRCOMM_MAGIC, return;);
+ IRDA_ASSERT(skb != NULL, return;);
+ IRDA_ASSERT(qos != NULL, return;);
info.max_data_size = max_seg_size;
info.max_header_size = max_header_size;
@@ -320,8 +321,8 @@ static void ircomm_lmp_disconnect_indication(void *instance, void *sap,
IRDA_DEBUG(0, "%s()\n", __FUNCTION__ );
- ASSERT(self != NULL, return;);
- ASSERT(self->magic == IRCOMM_MAGIC, return;);
+ IRDA_ASSERT(self != NULL, return;);
+ IRDA_ASSERT(self->magic == IRCOMM_MAGIC, return;);
info.reason = reason;
diff --git a/net/irda/ircomm/ircomm_param.c b/net/irda/ircomm/ircomm_param.c
index 703e8aa31c75..6009bab05091 100644
--- a/net/irda/ircomm/ircomm_param.c
+++ b/net/irda/ircomm/ircomm_param.c
@@ -106,8 +106,8 @@ int ircomm_param_request(struct ircomm_tty_cb *self, __u8 pi, int flush)
IRDA_DEBUG(2, "%s()\n", __FUNCTION__ );
- ASSERT(self != NULL, return -1;);
- ASSERT(self->magic == IRCOMM_TTY_MAGIC, return -1;);
+ IRDA_ASSERT(self != NULL, return -1;);
+ IRDA_ASSERT(self->magic == IRCOMM_TTY_MAGIC, return -1;);
tty = self->tty;
if (!tty)
@@ -137,7 +137,7 @@ int ircomm_param_request(struct ircomm_tty_cb *self, __u8 pi, int flush)
count = irda_param_insert(self, pi, skb->tail, skb_tailroom(skb),
&ircomm_param_info);
if (count < 0) {
- WARNING("%s(), no room for parameter!\n", __FUNCTION__);
+ IRDA_WARNING("%s(), no room for parameter!\n", __FUNCTION__);
spin_unlock_irqrestore(&self->spinlock, flags);
return -1;
}
@@ -168,8 +168,8 @@ static int ircomm_param_service_type(void *instance, irda_param_t *param,
struct ircomm_tty_cb *self = (struct ircomm_tty_cb *) instance;
__u8 service_type = (__u8) param->pv.i;
- ASSERT(self != NULL, return -1;);
- ASSERT(self->magic == IRCOMM_TTY_MAGIC, return -1;);
+ IRDA_ASSERT(self != NULL, return -1;);
+ IRDA_ASSERT(self->magic == IRCOMM_TTY_MAGIC, return -1;);
if (get) {
param->pv.i = self->settings.service_type;
@@ -233,8 +233,8 @@ static int ircomm_param_port_type(void *instance, irda_param_t *param, int get)
{
struct ircomm_tty_cb *self = (struct ircomm_tty_cb *) instance;
- ASSERT(self != NULL, return -1;);
- ASSERT(self->magic == IRCOMM_TTY_MAGIC, return -1;);
+ IRDA_ASSERT(self != NULL, return -1;);
+ IRDA_ASSERT(self->magic == IRCOMM_TTY_MAGIC, return -1;);
if (get)
param->pv.i = IRCOMM_SERIAL;
@@ -257,8 +257,8 @@ static int ircomm_param_port_name(void *instance, irda_param_t *param, int get)
{
struct ircomm_tty_cb *self = (struct ircomm_tty_cb *) instance;
- ASSERT(self != NULL, return -1;);
- ASSERT(self->magic == IRCOMM_TTY_MAGIC, return -1;);
+ IRDA_ASSERT(self != NULL, return -1;);
+ IRDA_ASSERT(self->magic == IRCOMM_TTY_MAGIC, return -1;);
if (get) {
IRDA_DEBUG(0, "%s(), not imp!\n", __FUNCTION__ );
@@ -280,8 +280,8 @@ static int ircomm_param_data_rate(void *instance, irda_param_t *param, int get)
{
struct ircomm_tty_cb *self = (struct ircomm_tty_cb *) instance;
- ASSERT(self != NULL, return -1;);
- ASSERT(self->magic == IRCOMM_TTY_MAGIC, return -1;);
+ IRDA_ASSERT(self != NULL, return -1;);
+ IRDA_ASSERT(self->magic == IRCOMM_TTY_MAGIC, return -1;);
if (get)
param->pv.i = self->settings.data_rate;
@@ -304,8 +304,8 @@ static int ircomm_param_data_format(void *instance, irda_param_t *param,
{
struct ircomm_tty_cb *self = (struct ircomm_tty_cb *) instance;
- ASSERT(self != NULL, return -1;);
- ASSERT(self->magic == IRCOMM_TTY_MAGIC, return -1;);
+ IRDA_ASSERT(self != NULL, return -1;);
+ IRDA_ASSERT(self->magic == IRCOMM_TTY_MAGIC, return -1;);
if (get)
param->pv.i = self->settings.data_format;
@@ -326,8 +326,8 @@ static int ircomm_param_flow_control(void *instance, irda_param_t *param,
{
struct ircomm_tty_cb *self = (struct ircomm_tty_cb *) instance;
- ASSERT(self != NULL, return -1;);
- ASSERT(self->magic == IRCOMM_TTY_MAGIC, return -1;);
+ IRDA_ASSERT(self != NULL, return -1;);
+ IRDA_ASSERT(self->magic == IRCOMM_TTY_MAGIC, return -1;);
if (get)
param->pv.i = self->settings.flow_control;
@@ -349,8 +349,8 @@ static int ircomm_param_xon_xoff(void *instance, irda_param_t *param, int get)
{
struct ircomm_tty_cb *self = (struct ircomm_tty_cb *) instance;
- ASSERT(self != NULL, return -1;);
- ASSERT(self->magic == IRCOMM_TTY_MAGIC, return -1;);
+ IRDA_ASSERT(self != NULL, return -1;);
+ IRDA_ASSERT(self->magic == IRCOMM_TTY_MAGIC, return -1;);
if (get) {
param->pv.i = self->settings.xonxoff[0];
@@ -376,8 +376,8 @@ static int ircomm_param_enq_ack(void *instance, irda_param_t *param, int get)
{
struct ircomm_tty_cb *self = (struct ircomm_tty_cb *) instance;
- ASSERT(self != NULL, return -1;);
- ASSERT(self->magic == IRCOMM_TTY_MAGIC, return -1;);
+ IRDA_ASSERT(self != NULL, return -1;);
+ IRDA_ASSERT(self->magic == IRCOMM_TTY_MAGIC, return -1;);
if (get) {
param->pv.i = self->settings.enqack[0];
@@ -418,8 +418,8 @@ static int ircomm_param_dte(void *instance, irda_param_t *param, int get)
struct ircomm_tty_cb *self = (struct ircomm_tty_cb *) instance;
__u8 dte;
- ASSERT(self != NULL, return -1;);
- ASSERT(self->magic == IRCOMM_TTY_MAGIC, return -1;);
+ IRDA_ASSERT(self != NULL, return -1;);
+ IRDA_ASSERT(self->magic == IRCOMM_TTY_MAGIC, return -1;);
if (get)
param->pv.i = self->settings.dte;
@@ -467,8 +467,8 @@ static int ircomm_param_dce(void *instance, irda_param_t *param, int get)
dce = (__u8) param->pv.i;
- ASSERT(self != NULL, return -1;);
- ASSERT(self->magic == IRCOMM_TTY_MAGIC, return -1;);
+ IRDA_ASSERT(self != NULL, return -1;);
+ IRDA_ASSERT(self->magic == IRCOMM_TTY_MAGIC, return -1;);
self->settings.dce = dce;
@@ -494,8 +494,8 @@ static int ircomm_param_poll(void *instance, irda_param_t *param, int get)
{
struct ircomm_tty_cb *self = (struct ircomm_tty_cb *) instance;
- ASSERT(self != NULL, return -1;);
- ASSERT(self->magic == IRCOMM_TTY_MAGIC, return -1;);
+ IRDA_ASSERT(self != NULL, return -1;);
+ IRDA_ASSERT(self->magic == IRCOMM_TTY_MAGIC, return -1;);
/* Poll parameters are always of lenght 0 (just a signal) */
if (!get) {
diff --git a/net/irda/ircomm/ircomm_ttp.c b/net/irda/ircomm/ircomm_ttp.c
index 6dafe0b0f628..d98bf3570d29 100644
--- a/net/irda/ircomm/ircomm_ttp.c
+++ b/net/irda/ircomm/ircomm_ttp.c
@@ -172,7 +172,7 @@ static int ircomm_ttp_data_request(struct ircomm_cb *self,
{
int ret;
- ASSERT(skb != NULL, return -1;);
+ IRDA_ASSERT(skb != NULL, return -1;);
IRDA_DEBUG(2, "%s(), clen=%d\n", __FUNCTION__ , clen);
@@ -180,7 +180,7 @@ static int ircomm_ttp_data_request(struct ircomm_cb *self,
* Insert clen field, currently we either send data only, or control
* only frames, to make things easier and avoid queueing
*/
- ASSERT(skb_headroom(skb) >= IRCOMM_HEADER_SIZE, return -1;);
+ IRDA_ASSERT(skb_headroom(skb) >= IRCOMM_HEADER_SIZE, return -1;);
/* Don't forget to refcount it - see ircomm_tty_do_softint() */
skb_get(skb);
@@ -191,7 +191,7 @@ static int ircomm_ttp_data_request(struct ircomm_cb *self,
ret = irttp_data_request(self->tsap, skb);
if (ret) {
- ERROR("%s(), failed\n", __FUNCTION__);
+ IRDA_ERROR("%s(), failed\n", __FUNCTION__);
/* irttp_data_request already free the packet */
}
@@ -211,9 +211,9 @@ static int ircomm_ttp_data_indication(void *instance, void *sap,
IRDA_DEBUG(4, "%s()\n", __FUNCTION__ );
- ASSERT(self != NULL, return -1;);
- ASSERT(self->magic == IRCOMM_MAGIC, return -1;);
- ASSERT(skb != NULL, return -1;);
+ IRDA_ASSERT(self != NULL, return -1;);
+ IRDA_ASSERT(self->magic == IRCOMM_MAGIC, return -1;);
+ IRDA_ASSERT(skb != NULL, return -1;);
ircomm_do_event(self, IRCOMM_TTP_DATA_INDICATION, skb, NULL);
@@ -234,13 +234,14 @@ static void ircomm_ttp_connect_confirm(void *instance, void *sap,
IRDA_DEBUG(4, "%s()\n", __FUNCTION__ );
- ASSERT(self != NULL, return;);
- ASSERT(self->magic == IRCOMM_MAGIC, return;);
- ASSERT(skb != NULL, return;);
- ASSERT(qos != NULL, goto out;);
+ IRDA_ASSERT(self != NULL, return;);
+ IRDA_ASSERT(self->magic == IRCOMM_MAGIC, return;);
+ IRDA_ASSERT(skb != NULL, return;);
+ IRDA_ASSERT(qos != NULL, goto out;);
if (max_sdu_size != TTP_SAR_DISABLE) {
- ERROR("%s(), SAR not allowed for IrCOMM!\n", __FUNCTION__);
+ IRDA_ERROR("%s(), SAR not allowed for IrCOMM!\n",
+ __FUNCTION__);
goto out;
}
@@ -274,13 +275,14 @@ static void ircomm_ttp_connect_indication(void *instance, void *sap,
IRDA_DEBUG(4, "%s()\n", __FUNCTION__ );
- ASSERT(self != NULL, return;);
- ASSERT(self->magic == IRCOMM_MAGIC, return;);
- ASSERT(skb != NULL, return;);
- ASSERT(qos != NULL, goto out;);
+ IRDA_ASSERT(self != NULL, return;);
+ IRDA_ASSERT(self->magic == IRCOMM_MAGIC, return;);
+ IRDA_ASSERT(skb != NULL, return;);
+ IRDA_ASSERT(qos != NULL, goto out;);
if (max_sdu_size != TTP_SAR_DISABLE) {
- ERROR("%s(), SAR not allowed for IrCOMM!\n", __FUNCTION__);
+ IRDA_ERROR("%s(), SAR not allowed for IrCOMM!\n",
+ __FUNCTION__);
goto out;
}
@@ -332,8 +334,8 @@ static void ircomm_ttp_disconnect_indication(void *instance, void *sap,
IRDA_DEBUG(2, "%s()\n", __FUNCTION__ );
- ASSERT(self != NULL, return;);
- ASSERT(self->magic == IRCOMM_MAGIC, return;);
+ IRDA_ASSERT(self != NULL, return;);
+ IRDA_ASSERT(self->magic == IRCOMM_MAGIC, return;);
info.reason = reason;
@@ -357,8 +359,8 @@ static void ircomm_ttp_flow_indication(void *instance, void *sap,
IRDA_DEBUG(4, "%s()\n", __FUNCTION__ );
- ASSERT(self != NULL, return;);
- ASSERT(self->magic == IRCOMM_MAGIC, return;);
+ IRDA_ASSERT(self != NULL, return;);
+ IRDA_ASSERT(self->magic == IRCOMM_MAGIC, return;);
if (self->notify.flow_indication)
self->notify.flow_indication(self->notify.instance, self, cmd);
diff --git a/net/irda/ircomm/ircomm_tty.c b/net/irda/ircomm/ircomm_tty.c
index 90ae59a6d9f4..5d1e61168eb7 100644
--- a/net/irda/ircomm/ircomm_tty.c
+++ b/net/irda/ircomm/ircomm_tty.c
@@ -116,7 +116,7 @@ static int __init ircomm_tty_init(void)
return -ENOMEM;
ircomm_tty = hashbin_new(HB_LOCK);
if (ircomm_tty == NULL) {
- ERROR("%s(), can't allocate hashbin!\n", __FUNCTION__);
+ IRDA_ERROR("%s(), can't allocate hashbin!\n", __FUNCTION__);
put_tty_driver(driver);
return -ENOMEM;
}
@@ -134,7 +134,8 @@ static int __init ircomm_tty_init(void)
driver->flags = TTY_DRIVER_REAL_RAW;
tty_set_operations(driver, &ops);
if (tty_register_driver(driver)) {
- ERROR("%s(): Couldn't register serial driver\n", __FUNCTION__);
+ IRDA_ERROR("%s(): Couldn't register serial driver\n",
+ __FUNCTION__);
put_tty_driver(driver);
return -1;
}
@@ -145,8 +146,8 @@ static void __exit __ircomm_tty_cleanup(struct ircomm_tty_cb *self)
{
IRDA_DEBUG(0, "%s()\n", __FUNCTION__ );
- ASSERT(self != NULL, return;);
- ASSERT(self->magic == IRCOMM_TTY_MAGIC, return;);
+ IRDA_ASSERT(self != NULL, return;);
+ IRDA_ASSERT(self->magic == IRCOMM_TTY_MAGIC, return;);
ircomm_tty_shutdown(self);
@@ -168,7 +169,8 @@ static void __exit ircomm_tty_cleanup(void)
ret = tty_unregister_driver(driver);
if (ret) {
- ERROR("%s(), failed to unregister driver\n", __FUNCTION__);
+ IRDA_ERROR("%s(), failed to unregister driver\n",
+ __FUNCTION__);
return;
}
@@ -189,8 +191,8 @@ static int ircomm_tty_startup(struct ircomm_tty_cb *self)
IRDA_DEBUG(2, "%s()\n", __FUNCTION__ );
- ASSERT(self != NULL, return -1;);
- ASSERT(self->magic == IRCOMM_TTY_MAGIC, return -1;);
+ IRDA_ASSERT(self != NULL, return -1;);
+ IRDA_ASSERT(self->magic == IRCOMM_TTY_MAGIC, return -1;);
/* Check if already open */
if (test_and_set_bit(ASYNC_B_INITIALIZED, &self->flags)) {
@@ -224,7 +226,7 @@ static int ircomm_tty_startup(struct ircomm_tty_cb *self)
/* Connect IrCOMM link with remote device */
ret = ircomm_tty_attach_cable(self);
if (ret < 0) {
- ERROR("%s(), error attaching cable!\n", __FUNCTION__);
+ IRDA_ERROR("%s(), error attaching cable!\n", __FUNCTION__);
goto err;
}
@@ -381,7 +383,7 @@ static int ircomm_tty_open(struct tty_struct *tty, struct file *filp)
/* No, so make new instance */
self = kmalloc(sizeof(struct ircomm_tty_cb), GFP_KERNEL);
if (self == NULL) {
- ERROR("%s(), kmalloc failed!\n", __FUNCTION__);
+ IRDA_ERROR("%s(), kmalloc failed!\n", __FUNCTION__);
return -ENOMEM;
}
memset(self, 0, sizeof(struct ircomm_tty_cb));
@@ -442,8 +444,8 @@ static int ircomm_tty_open(struct tty_struct *tty, struct file *filp)
*/
if (wait_event_interruptible(self->close_wait, !test_bit(ASYNC_B_CLOSING, &self->flags))) {
- WARNING("%s - got signal while blocking on ASYNC_CLOSING!\n",
- __FUNCTION__);
+ IRDA_WARNING("%s - got signal while blocking on ASYNC_CLOSING!\n",
+ __FUNCTION__);
return -ERESTARTSYS;
}
@@ -499,8 +501,8 @@ static void ircomm_tty_close(struct tty_struct *tty, struct file *filp)
if (!tty)
return;
- ASSERT(self != NULL, return;);
- ASSERT(self->magic == IRCOMM_TTY_MAGIC, return;);
+ IRDA_ASSERT(self != NULL, return;);
+ IRDA_ASSERT(self->magic == IRCOMM_TTY_MAGIC, return;);
spin_lock_irqsave(&self->spinlock, flags);
@@ -526,8 +528,8 @@ static void ircomm_tty_close(struct tty_struct *tty, struct file *filp)
}
if (--self->open_count < 0) {
- ERROR("%s(), bad serial port count for ttys%d: %d\n",
- __FUNCTION__, self->line, self->open_count);
+ IRDA_ERROR("%s(), bad serial port count for ttys%d: %d\n",
+ __FUNCTION__, self->line, self->open_count);
self->open_count = 0;
}
if (self->open_count) {
@@ -586,8 +588,8 @@ static void ircomm_tty_flush_buffer(struct tty_struct *tty)
{
struct ircomm_tty_cb *self = (struct ircomm_tty_cb *) tty->driver_data;
- ASSERT(self != NULL, return;);
- ASSERT(self->magic == IRCOMM_TTY_MAGIC, return;);
+ IRDA_ASSERT(self != NULL, return;);
+ IRDA_ASSERT(self->magic == IRCOMM_TTY_MAGIC, return;);
/*
* Let do_softint() do this to avoid race condition with
@@ -683,8 +685,8 @@ static int ircomm_tty_write(struct tty_struct *tty,
IRDA_DEBUG(2, "%s(), count=%d, hw_stopped=%d\n", __FUNCTION__ , count,
tty->hw_stopped);
- ASSERT(self != NULL, return -1;);
- ASSERT(self->magic == IRCOMM_TTY_MAGIC, return -1;);
+ IRDA_ASSERT(self != NULL, return -1;);
+ IRDA_ASSERT(self->magic == IRCOMM_TTY_MAGIC, return -1;);
/* We may receive packets from the TTY even before we have finished
* our setup. Not cool.
@@ -808,8 +810,8 @@ static int ircomm_tty_write_room(struct tty_struct *tty)
unsigned long flags;
int ret;
- ASSERT(self != NULL, return -1;);
- ASSERT(self->magic == IRCOMM_TTY_MAGIC, return -1;);
+ IRDA_ASSERT(self != NULL, return -1;);
+ IRDA_ASSERT(self->magic == IRCOMM_TTY_MAGIC, return -1;);
#ifdef IRCOMM_NO_TX_BEFORE_INIT
/* max_header_size tells us if the channel is initialised or not. */
@@ -850,8 +852,8 @@ static void ircomm_tty_wait_until_sent(struct tty_struct *tty, int timeout)
IRDA_DEBUG(2, "%s()\n", __FUNCTION__ );
- ASSERT(self != NULL, return;);
- ASSERT(self->magic == IRCOMM_TTY_MAGIC, return;);
+ IRDA_ASSERT(self != NULL, return;);
+ IRDA_ASSERT(self->magic == IRCOMM_TTY_MAGIC, return;);
orig_jiffies = jiffies;
@@ -886,8 +888,8 @@ static void ircomm_tty_throttle(struct tty_struct *tty)
IRDA_DEBUG(2, "%s()\n", __FUNCTION__ );
- ASSERT(self != NULL, return;);
- ASSERT(self->magic == IRCOMM_TTY_MAGIC, return;);
+ IRDA_ASSERT(self != NULL, return;);
+ IRDA_ASSERT(self->magic == IRCOMM_TTY_MAGIC, return;);
/* Software flow control? */
if (I_IXOFF(tty))
@@ -917,8 +919,8 @@ static void ircomm_tty_unthrottle(struct tty_struct *tty)
IRDA_DEBUG(2, "%s()\n", __FUNCTION__ );
- ASSERT(self != NULL, return;);
- ASSERT(self->magic == IRCOMM_TTY_MAGIC, return;);
+ IRDA_ASSERT(self != NULL, return;);
+ IRDA_ASSERT(self->magic == IRCOMM_TTY_MAGIC, return;);
/* Using software flow control? */
if (I_IXOFF(tty)) {
@@ -947,8 +949,8 @@ static int ircomm_tty_chars_in_buffer(struct tty_struct *tty)
unsigned long flags;
int len = 0;
- ASSERT(self != NULL, return -1;);
- ASSERT(self->magic == IRCOMM_TTY_MAGIC, return -1;);
+ IRDA_ASSERT(self != NULL, return -1;);
+ IRDA_ASSERT(self->magic == IRCOMM_TTY_MAGIC, return -1;);
spin_lock_irqsave(&self->spinlock, flags);
@@ -964,8 +966,8 @@ static void ircomm_tty_shutdown(struct ircomm_tty_cb *self)
{
unsigned long flags;
- ASSERT(self != NULL, return;);
- ASSERT(self->magic == IRCOMM_TTY_MAGIC, return;);
+ IRDA_ASSERT(self != NULL, return;);
+ IRDA_ASSERT(self->magic == IRCOMM_TTY_MAGIC, return;);
IRDA_DEBUG(0, "%s()\n", __FUNCTION__ );
@@ -1012,8 +1014,8 @@ static void ircomm_tty_hangup(struct tty_struct *tty)
IRDA_DEBUG(0, "%s()\n", __FUNCTION__ );
- ASSERT(self != NULL, return;);
- ASSERT(self->magic == IRCOMM_TTY_MAGIC, return;);
+ IRDA_ASSERT(self != NULL, return;);
+ IRDA_ASSERT(self->magic == IRCOMM_TTY_MAGIC, return;);
if (!tty)
return;
@@ -1065,8 +1067,8 @@ static void ircomm_tty_stop(struct tty_struct *tty)
{
struct ircomm_tty_cb *self = (struct ircomm_tty_cb *) tty->driver_data;
- ASSERT(self != NULL, return;);
- ASSERT(self->magic == IRCOMM_TTY_MAGIC, return;);
+ IRDA_ASSERT(self != NULL, return;);
+ IRDA_ASSERT(self->magic == IRCOMM_TTY_MAGIC, return;);
ircomm_flow_request(self->ircomm, FLOW_STOP);
}
@@ -1085,8 +1087,8 @@ void ircomm_tty_check_modem_status(struct ircomm_tty_cb *self)
IRDA_DEBUG(0, "%s()\n", __FUNCTION__ );
- ASSERT(self != NULL, return;);
- ASSERT(self->magic == IRCOMM_TTY_MAGIC, return;);
+ IRDA_ASSERT(self != NULL, return;);
+ IRDA_ASSERT(self->magic == IRCOMM_TTY_MAGIC, return;);
tty = self->tty;
@@ -1148,9 +1150,9 @@ static int ircomm_tty_data_indication(void *instance, void *sap,
IRDA_DEBUG(2, "%s()\n", __FUNCTION__ );
- ASSERT(self != NULL, return -1;);
- ASSERT(self->magic == IRCOMM_TTY_MAGIC, return -1;);
- ASSERT(skb != NULL, return -1;);
+ IRDA_ASSERT(self != NULL, return -1;);
+ IRDA_ASSERT(self->magic == IRCOMM_TTY_MAGIC, return -1;);
+ IRDA_ASSERT(skb != NULL, return -1;);
if (!self->tty) {
IRDA_DEBUG(0, "%s(), no tty!\n", __FUNCTION__ );
@@ -1198,9 +1200,9 @@ static int ircomm_tty_control_indication(void *instance, void *sap,
IRDA_DEBUG(4, "%s()\n", __FUNCTION__ );
- ASSERT(self != NULL, return -1;);
- ASSERT(self->magic == IRCOMM_TTY_MAGIC, return -1;);
- ASSERT(skb != NULL, return -1;);
+ IRDA_ASSERT(self != NULL, return -1;);
+ IRDA_ASSERT(self->magic == IRCOMM_TTY_MAGIC, return -1;);
+ IRDA_ASSERT(skb != NULL, return -1;);
clen = skb->data[0];
@@ -1225,8 +1227,8 @@ static void ircomm_tty_flow_indication(void *instance, void *sap,
struct ircomm_tty_cb *self = (struct ircomm_tty_cb *) instance;
struct tty_struct *tty;
- ASSERT(self != NULL, return;);
- ASSERT(self->magic == IRCOMM_TTY_MAGIC, return;);
+ IRDA_ASSERT(self != NULL, return;);
+ IRDA_ASSERT(self->magic == IRCOMM_TTY_MAGIC, return;);
tty = self->tty;
diff --git a/net/irda/ircomm/ircomm_tty_attach.c b/net/irda/ircomm/ircomm_tty_attach.c
index e01be889abed..99f5eddbb4b7 100644
--- a/net/irda/ircomm/ircomm_tty_attach.c
+++ b/net/irda/ircomm/ircomm_tty_attach.c
@@ -132,8 +132,8 @@ int ircomm_tty_attach_cable(struct ircomm_tty_cb *self)
{
IRDA_DEBUG(0, "%s()\n", __FUNCTION__ );
- ASSERT(self != NULL, return -1;);
- ASSERT(self->magic == IRCOMM_TTY_MAGIC, return -1;);
+ IRDA_ASSERT(self != NULL, return -1;);
+ IRDA_ASSERT(self->magic == IRCOMM_TTY_MAGIC, return -1;);
/* Check if somebody has already connected to us */
if (ircomm_is_connected(self->ircomm)) {
@@ -161,8 +161,8 @@ void ircomm_tty_detach_cable(struct ircomm_tty_cb *self)
{
IRDA_DEBUG(0, "%s()\n", __FUNCTION__ );
- ASSERT(self != NULL, return;);
- ASSERT(self->magic == IRCOMM_TTY_MAGIC, return;);
+ IRDA_ASSERT(self != NULL, return;);
+ IRDA_ASSERT(self->magic == IRCOMM_TTY_MAGIC, return;);
del_timer(&self->watchdog_timer);
@@ -210,8 +210,8 @@ static void ircomm_tty_ias_register(struct ircomm_tty_cb *self)
IRDA_DEBUG(0, "%s()\n", __FUNCTION__ );
- ASSERT(self != NULL, return;);
- ASSERT(self->magic == IRCOMM_TTY_MAGIC, return;);
+ IRDA_ASSERT(self != NULL, return;);
+ IRDA_ASSERT(self->magic == IRCOMM_TTY_MAGIC, return;);
/* Compute hint bits based on service */
hints = irlmp_service_to_hint(S_COMM);
@@ -299,8 +299,8 @@ static void ircomm_tty_ias_unregister(struct ircomm_tty_cb *self)
*/
int ircomm_tty_send_initial_parameters(struct ircomm_tty_cb *self)
{
- ASSERT(self != NULL, return -1;);
- ASSERT(self->magic == IRCOMM_TTY_MAGIC, return -1;);
+ IRDA_ASSERT(self != NULL, return -1;);
+ IRDA_ASSERT(self->magic == IRCOMM_TTY_MAGIC, return -1;);
if (self->service_type & IRCOMM_3_WIRE_RAW)
return 0;
@@ -387,7 +387,7 @@ static void ircomm_tty_discovery_indication(discinfo_t *discovery,
* need to ensure that "line" is unique. - Jean II */
self = (struct ircomm_tty_cb *) hashbin_get_first(ircomm_tty);
while (self != NULL) {
- ASSERT(self->magic == IRCOMM_TTY_MAGIC, return;);
+ IRDA_ASSERT(self->magic == IRCOMM_TTY_MAGIC, return;);
ircomm_tty_do_event(self, IRCOMM_TTY_DISCOVERY_INDICATION,
NULL, &info);
@@ -410,8 +410,8 @@ void ircomm_tty_disconnect_indication(void *instance, void *sap,
IRDA_DEBUG(2, "%s()\n", __FUNCTION__ );
- ASSERT(self != NULL, return;);
- ASSERT(self->magic == IRCOMM_TTY_MAGIC, return;);
+ IRDA_ASSERT(self != NULL, return;);
+ IRDA_ASSERT(self->magic == IRCOMM_TTY_MAGIC, return;);
if (!self->tty)
return;
@@ -440,8 +440,8 @@ static void ircomm_tty_getvalue_confirm(int result, __u16 obj_id,
IRDA_DEBUG(2, "%s()\n", __FUNCTION__ );
- ASSERT(self != NULL, return;);
- ASSERT(self->magic == IRCOMM_TTY_MAGIC, return;);
+ IRDA_ASSERT(self != NULL, return;);
+ IRDA_ASSERT(self->magic == IRCOMM_TTY_MAGIC, return;);
/* We probably don't need to make any more queries */
iriap_close(self->iriap);
@@ -501,8 +501,8 @@ void ircomm_tty_connect_confirm(void *instance, void *sap,
IRDA_DEBUG(2, "%s()\n", __FUNCTION__ );
- ASSERT(self != NULL, return;);
- ASSERT(self->magic == IRCOMM_TTY_MAGIC, return;);
+ IRDA_ASSERT(self != NULL, return;);
+ IRDA_ASSERT(self->magic == IRCOMM_TTY_MAGIC, return;);
self->client = TRUE;
self->max_data_size = max_data_size;
@@ -532,8 +532,8 @@ void ircomm_tty_connect_indication(void *instance, void *sap,
IRDA_DEBUG(2, "%s()\n", __FUNCTION__ );
- ASSERT(self != NULL, return;);
- ASSERT(self->magic == IRCOMM_TTY_MAGIC, return;);
+ IRDA_ASSERT(self != NULL, return;);
+ IRDA_ASSERT(self->magic == IRCOMM_TTY_MAGIC, return;);
self->client = FALSE;
self->max_data_size = max_data_size;
@@ -561,8 +561,8 @@ void ircomm_tty_link_established(struct ircomm_tty_cb *self)
{
IRDA_DEBUG(2, "%s()\n", __FUNCTION__ );
- ASSERT(self != NULL, return;);
- ASSERT(self->magic == IRCOMM_TTY_MAGIC, return;);
+ IRDA_ASSERT(self != NULL, return;);
+ IRDA_ASSERT(self->magic == IRCOMM_TTY_MAGIC, return;);
if (!self->tty)
return;
@@ -600,8 +600,8 @@ void ircomm_tty_link_established(struct ircomm_tty_cb *self)
static void ircomm_tty_start_watchdog_timer(struct ircomm_tty_cb *self,
int timeout)
{
- ASSERT(self != NULL, return;);
- ASSERT(self->magic == IRCOMM_TTY_MAGIC, return;);
+ IRDA_ASSERT(self != NULL, return;);
+ IRDA_ASSERT(self->magic == IRCOMM_TTY_MAGIC, return;);
irda_start_timer(&self->watchdog_timer, timeout, (void *) self,
ircomm_tty_watchdog_timer_expired);
@@ -619,8 +619,8 @@ static void ircomm_tty_watchdog_timer_expired(void *data)
IRDA_DEBUG(2, "%s()\n", __FUNCTION__ );
- ASSERT(self != NULL, return;);
- ASSERT(self->magic == IRCOMM_TTY_MAGIC, return;);
+ IRDA_ASSERT(self != NULL, return;);
+ IRDA_ASSERT(self->magic == IRCOMM_TTY_MAGIC, return;);
ircomm_tty_do_event(self, IRCOMM_TTY_WD_TIMER_EXPIRED, NULL, NULL);
}
@@ -635,8 +635,8 @@ static void ircomm_tty_watchdog_timer_expired(void *data)
int ircomm_tty_do_event(struct ircomm_tty_cb *self, IRCOMM_TTY_EVENT event,
struct sk_buff *skb, struct ircomm_tty_info *info)
{
- ASSERT(self != NULL, return -1;);
- ASSERT(self->magic == IRCOMM_TTY_MAGIC, return -1;);
+ IRDA_ASSERT(self != NULL, return -1;);
+ IRDA_ASSERT(self->magic == IRCOMM_TTY_MAGIC, return -1;);
IRDA_DEBUG(2, "%s: state=%s, event=%s\n", __FUNCTION__ ,
ircomm_tty_state[self->state], ircomm_tty_event[event]);
@@ -653,8 +653,8 @@ int ircomm_tty_do_event(struct ircomm_tty_cb *self, IRCOMM_TTY_EVENT event,
static inline void ircomm_tty_next_state(struct ircomm_tty_cb *self, IRCOMM_TTY_STATE state)
{
/*
- ASSERT(self != NULL, return;);
- ASSERT(self->magic == IRCOMM_TTY_MAGIC, return;);
+ IRDA_ASSERT(self != NULL, return;);
+ IRDA_ASSERT(self->magic == IRCOMM_TTY_MAGIC, return;);
IRDA_DEBUG(2, "%s: next state=%s, service type=%d\n", __FUNCTION__ ,
ircomm_tty_state[self->state], self->service_type);
@@ -690,7 +690,8 @@ static int ircomm_tty_state_idle(struct ircomm_tty_cb *self,
self->saddr = info->saddr;
if (self->iriap) {
- WARNING("%s(), busy with a previous query\n", __FUNCTION__);
+ IRDA_WARNING("%s(), busy with a previous query\n",
+ __FUNCTION__);
return -EBUSY;
}
@@ -747,7 +748,8 @@ static int ircomm_tty_state_search(struct ircomm_tty_cb *self,
self->saddr = info->saddr;
if (self->iriap) {
- WARNING("%s(), busy with a previous query\n", __FUNCTION__);
+ IRDA_WARNING("%s(), busy with a previous query\n",
+ __FUNCTION__);
return -EBUSY;
}
@@ -816,7 +818,8 @@ static int ircomm_tty_state_query_parameters(struct ircomm_tty_cb *self,
switch (event) {
case IRCOMM_TTY_GOT_PARAMETERS:
if (self->iriap) {
- WARNING("%s(), busy with a previous query\n", __FUNCTION__);
+ IRDA_WARNING("%s(), busy with a previous query\n",
+ __FUNCTION__);
return -EBUSY;
}
diff --git a/net/irda/ircomm/ircomm_tty_ioctl.c b/net/irda/ircomm/ircomm_tty_ioctl.c
index 001611d3302e..197e3e7ed7e2 100644
--- a/net/irda/ircomm/ircomm_tty_ioctl.c
+++ b/net/irda/ircomm/ircomm_tty_ioctl.c
@@ -95,7 +95,7 @@ static void ircomm_tty_change_speed(struct ircomm_tty_cb *self)
self->settings.flow_control |= IRCOMM_RTS_CTS_IN;
/* This got me. Bummer. Jean II */
if (self->service_type == IRCOMM_3_WIRE_RAW)
- WARNING("%s(), enabling RTS/CTS on link that doesn't support it (3-wire-raw)\n", __FUNCTION__);
+ IRDA_WARNING("%s(), enabling RTS/CTS on link that doesn't support it (3-wire-raw)\n", __FUNCTION__);
} else {
self->flags &= ~ASYNC_CTS_FLOW;
self->settings.flow_control &= ~IRCOMM_RTS_CTS_IN;
@@ -230,8 +230,8 @@ int ircomm_tty_tiocmset(struct tty_struct *tty, struct file *file,
if (tty->flags & (1 << TTY_IO_ERROR))
return -EIO;
- ASSERT(self != NULL, return -1;);
- ASSERT(self->magic == IRCOMM_TTY_MAGIC, return -1;);
+ IRDA_ASSERT(self != NULL, return -1;);
+ IRDA_ASSERT(self->magic == IRCOMM_TTY_MAGIC, return -1;);
if (set & TIOCM_RTS)
self->settings.dte |= IRCOMM_RTS;
diff --git a/net/irda/irda_device.c b/net/irda/irda_device.c
index cf5a849bf4c0..fda299e300c0 100644
--- a/net/irda/irda_device.c
+++ b/net/irda/irda_device.c
@@ -77,14 +77,14 @@ int __init irda_device_init( void)
{
dongles = hashbin_new(HB_NOLOCK);
if (dongles == NULL) {
- printk(KERN_WARNING "IrDA: Can't allocate dongles hashbin!\n");
+ IRDA_WARNING("IrDA: Can't allocate dongles hashbin!\n");
return -ENOMEM;
}
spin_lock_init(&dongles->hb_spinlock);
tasks = hashbin_new(HB_LOCK);
if (tasks == NULL) {
- printk(KERN_WARNING "IrDA: Can't allocate tasks hashbin!\n");
+ IRDA_WARNING("IrDA: Can't allocate tasks hashbin!\n");
hashbin_delete(dongles, NULL);
return -ENOMEM;
}
@@ -98,8 +98,8 @@ int __init irda_device_init( void)
static void __exit leftover_dongle(void *arg)
{
struct dongle_reg *reg = arg;
- printk(KERN_WARNING "IrDA: Dongle type %x not unregistered\n",
- reg->type);
+ IRDA_WARNING("IrDA: Dongle type %x not unregistered\n",
+ reg->type);
}
void __exit irda_device_cleanup(void)
@@ -125,8 +125,8 @@ void irda_device_set_media_busy(struct net_device *dev, int status)
self = (struct irlap_cb *) dev->atalk_ptr;
- ASSERT(self != NULL, return;);
- ASSERT(self->magic == LAP_MAGIC, return;);
+ IRDA_ASSERT(self != NULL, return;);
+ IRDA_ASSERT(self->magic == LAP_MAGIC, return;);
if (status) {
self->media_busy = TRUE;
@@ -157,8 +157,8 @@ int irda_device_is_receiving(struct net_device *dev)
IRDA_DEBUG(2, "%s()\n", __FUNCTION__);
if (!dev->do_ioctl) {
- ERROR("%s: do_ioctl not impl. by device driver\n",
- __FUNCTION__);
+ IRDA_ERROR("%s: do_ioctl not impl. by device driver\n",
+ __FUNCTION__);
return -1;
}
@@ -209,21 +209,22 @@ static int irda_task_kick(struct irda_task *task)
IRDA_DEBUG(2, "%s()\n", __FUNCTION__);
- ASSERT(task != NULL, return -1;);
- ASSERT(task->magic == IRDA_TASK_MAGIC, return -1;);
+ IRDA_ASSERT(task != NULL, return -1;);
+ IRDA_ASSERT(task->magic == IRDA_TASK_MAGIC, return -1;);
/* Execute task until it's finished, or askes for a timeout */
do {
timeout = task->function(task);
if (count++ > 100) {
- ERROR("%s: error in task handler!\n", __FUNCTION__);
+ IRDA_ERROR("%s: error in task handler!\n",
+ __FUNCTION__);
irda_task_delete(task);
return TRUE;
}
} while ((timeout == 0) && (task->state != IRDA_TASK_DONE));
if (timeout < 0) {
- ERROR("%s: Error executing task!\n", __FUNCTION__);
+ IRDA_ERROR("%s: Error executing task!\n", __FUNCTION__);
irda_task_delete(task);
return TRUE;
}
@@ -387,7 +388,8 @@ dongle_t *irda_device_dongle_init(struct net_device *dev, int type)
#endif
if (!reg || !try_module_get(reg->owner) ) {
- ERROR("IrDA: Unable to find requested dongle type %x\n", type);
+ IRDA_ERROR("IrDA: Unable to find requested dongle type %x\n",
+ type);
goto out;
}
@@ -413,7 +415,7 @@ EXPORT_SYMBOL(irda_device_dongle_init);
*/
int irda_device_dongle_cleanup(dongle_t *dongle)
{
- ASSERT(dongle != NULL, return -1;);
+ IRDA_ASSERT(dongle != NULL, return -1;);
dongle->issue->close(dongle);
module_put(dongle->issue->owner);
@@ -431,8 +433,8 @@ int irda_device_register_dongle(struct dongle_reg *new)
spin_lock(&dongles->hb_spinlock);
/* Check if this dongle has been registered before */
if (hashbin_find(dongles, new->type, NULL)) {
- MESSAGE("%s: Dongle type %x already registered\n",
- __FUNCTION__, new->type);
+ IRDA_MESSAGE("%s: Dongle type %x already registered\n",
+ __FUNCTION__, new->type);
} else {
/* Insert IrDA dongle into hashbin */
hashbin_insert(dongles, (irda_queue_t *) new, new->type, NULL);
@@ -456,7 +458,7 @@ void irda_device_unregister_dongle(struct dongle_reg *dongle)
spin_lock(&dongles->hb_spinlock);
node = hashbin_remove(dongles, dongle->type, NULL);
if (!node)
- ERROR("%s: dongle not found!\n", __FUNCTION__);
+ IRDA_ERROR("%s: dongle not found!\n", __FUNCTION__);
spin_unlock(&dongles->hb_spinlock);
}
EXPORT_SYMBOL(irda_device_unregister_dongle);
diff --git a/net/irda/iriap.c b/net/irda/iriap.c
index f22993c24ea8..b8bb78af8b8a 100644
--- a/net/irda/iriap.c
+++ b/net/irda/iriap.c
@@ -107,8 +107,8 @@ int __init iriap_init(void)
/* Object repository - defined in irias_object.c */
irias_objects = hashbin_new(HB_LOCK);
if (!irias_objects) {
- WARNING("%s: Can't allocate irias_objects hashbin!\n",
- __FUNCTION__);
+ IRDA_WARNING("%s: Can't allocate irias_objects hashbin!\n",
+ __FUNCTION__);
hashbin_delete(iriap, NULL);
return -ENOMEM;
}
@@ -175,7 +175,7 @@ struct iriap_cb *iriap_open(__u8 slsap_sel, int mode, void *priv,
self = kmalloc(sizeof(struct iriap_cb), GFP_ATOMIC);
if (!self) {
- WARNING("%s: Unable to kmalloc!\n", __FUNCTION__);
+ IRDA_WARNING("%s: Unable to kmalloc!\n", __FUNCTION__);
return NULL;
}
@@ -220,8 +220,8 @@ static void __iriap_close(struct iriap_cb *self)
{
IRDA_DEBUG(4, "%s()\n", __FUNCTION__);
- ASSERT(self != NULL, return;);
- ASSERT(self->magic == IAS_MAGIC, return;);
+ IRDA_ASSERT(self != NULL, return;);
+ IRDA_ASSERT(self->magic == IAS_MAGIC, return;);
del_timer(&self->watchdog_timer);
@@ -244,8 +244,8 @@ void iriap_close(struct iriap_cb *self)
IRDA_DEBUG(2, "%s()\n", __FUNCTION__);
- ASSERT(self != NULL, return;);
- ASSERT(self->magic == IAS_MAGIC, return;);
+ IRDA_ASSERT(self != NULL, return;);
+ IRDA_ASSERT(self->magic == IAS_MAGIC, return;);
if (self->lsap) {
irlmp_close_lsap(self->lsap);
@@ -253,7 +253,7 @@ void iriap_close(struct iriap_cb *self)
}
entry = (struct iriap_cb *) hashbin_remove(iriap, (long) self, NULL);
- ASSERT(entry == self, return;);
+ IRDA_ASSERT(entry == self, return;);
__iriap_close(self);
}
@@ -278,7 +278,7 @@ static int iriap_register_lsap(struct iriap_cb *self, __u8 slsap_sel, int mode)
self->lsap = irlmp_open_lsap(slsap_sel, &notify, 0);
if (self->lsap == NULL) {
- ERROR("%s: Unable to allocated LSAP!\n", __FUNCTION__);
+ IRDA_ERROR("%s: Unable to allocated LSAP!\n", __FUNCTION__);
return -1;
}
self->slsap_sel = self->lsap->slsap_sel;
@@ -302,10 +302,10 @@ static void iriap_disconnect_indication(void *instance, void *sap,
self = (struct iriap_cb *) instance;
- ASSERT(self != NULL, return;);
- ASSERT(self->magic == IAS_MAGIC, return;);
+ IRDA_ASSERT(self != NULL, return;);
+ IRDA_ASSERT(self->magic == IAS_MAGIC, return;);
- ASSERT(iriap != NULL, return;);
+ IRDA_ASSERT(iriap != NULL, return;);
del_timer(&self->watchdog_timer);
@@ -343,8 +343,8 @@ static void iriap_disconnect_request(struct iriap_cb *self)
IRDA_DEBUG(4, "%s()\n", __FUNCTION__);
- ASSERT(self != NULL, return;);
- ASSERT(self->magic == IAS_MAGIC, return;);
+ IRDA_ASSERT(self != NULL, return;);
+ IRDA_ASSERT(self->magic == IAS_MAGIC, return;);
tx_skb = dev_alloc_skb(64);
if (tx_skb == NULL) {
@@ -375,8 +375,8 @@ int iriap_getvaluebyclass_request(struct iriap_cb *self,
int name_len, attr_len, skb_len;
__u8 *frame;
- ASSERT(self != NULL, return -1;);
- ASSERT(self->magic == IAS_MAGIC, return -1;);
+ IRDA_ASSERT(self != NULL, return -1;);
+ IRDA_ASSERT(self->magic == IAS_MAGIC, return -1;);
/* Client must supply the destination device address */
if (!daddr)
@@ -442,9 +442,9 @@ static void iriap_getvaluebyclass_confirm(struct iriap_cb *self,
__u8 *fp;
int n;
- ASSERT(self != NULL, return;);
- ASSERT(self->magic == IAS_MAGIC, return;);
- ASSERT(skb != NULL, return;);
+ IRDA_ASSERT(self != NULL, return;);
+ IRDA_ASSERT(self->magic == IAS_MAGIC, return;);
+ IRDA_ASSERT(skb != NULL, return;);
/* Initialize variables */
fp = skb->data;
@@ -549,10 +549,10 @@ static void iriap_getvaluebyclass_response(struct iriap_cb *self,
IRDA_DEBUG(4, "%s()\n", __FUNCTION__);
- ASSERT(self != NULL, return;);
- ASSERT(self->magic == IAS_MAGIC, return;);
- ASSERT(value != NULL, return;);
- ASSERT(value->len <= 1024, return;);
+ IRDA_ASSERT(self != NULL, return;);
+ IRDA_ASSERT(self->magic == IAS_MAGIC, return;);
+ IRDA_ASSERT(value != NULL, return;);
+ IRDA_ASSERT(value->len <= 1024, return;);
/* Initialize variables */
n = 0;
@@ -642,9 +642,9 @@ static void iriap_getvaluebyclass_indication(struct iriap_cb *self,
IRDA_DEBUG(4, "%s()\n", __FUNCTION__);
- ASSERT(self != NULL, return;);
- ASSERT(self->magic == IAS_MAGIC, return;);
- ASSERT(skb != NULL, return;);
+ IRDA_ASSERT(self != NULL, return;);
+ IRDA_ASSERT(self->magic == IAS_MAGIC, return;);
+ IRDA_ASSERT(skb != NULL, return;);
fp = skb->data;
n = 1;
@@ -697,8 +697,8 @@ void iriap_send_ack(struct iriap_cb *self)
IRDA_DEBUG(2, "%s()\n", __FUNCTION__);
- ASSERT(self != NULL, return;);
- ASSERT(self->magic == IAS_MAGIC, return;);
+ IRDA_ASSERT(self != NULL, return;);
+ IRDA_ASSERT(self->magic == IAS_MAGIC, return;);
tx_skb = dev_alloc_skb(64);
if (!tx_skb)
@@ -719,8 +719,8 @@ void iriap_connect_request(struct iriap_cb *self)
{
int ret;
- ASSERT(self != NULL, return;);
- ASSERT(self->magic == IAS_MAGIC, return;);
+ IRDA_ASSERT(self != NULL, return;);
+ IRDA_ASSERT(self->magic == IAS_MAGIC, return;);
ret = irlmp_connect_request(self->lsap, LSAP_IAS,
self->saddr, self->daddr,
@@ -746,9 +746,9 @@ static void iriap_connect_confirm(void *instance, void *sap,
self = (struct iriap_cb *) instance;
- ASSERT(self != NULL, return;);
- ASSERT(self->magic == IAS_MAGIC, return;);
- ASSERT(skb != NULL, return;);
+ IRDA_ASSERT(self != NULL, return;);
+ IRDA_ASSERT(self->magic == IAS_MAGIC, return;);
+ IRDA_ASSERT(skb != NULL, return;);
self->max_data_size = max_seg_size;
self->max_header_size = max_header_size;
@@ -778,9 +778,9 @@ static void iriap_connect_indication(void *instance, void *sap,
self = (struct iriap_cb *) instance;
- ASSERT(skb != NULL, return;);
- ASSERT(self != NULL, goto out;);
- ASSERT(self->magic == IAS_MAGIC, goto out;);
+ IRDA_ASSERT(skb != NULL, return;);
+ IRDA_ASSERT(self != NULL, goto out;);
+ IRDA_ASSERT(self->magic == IAS_MAGIC, goto out;);
/* Start new server */
new = iriap_open(LSAP_IAS, IAS_SERVER, NULL, NULL);
@@ -826,9 +826,9 @@ static int iriap_data_indication(void *instance, void *sap,
self = (struct iriap_cb *) instance;
- ASSERT(skb != NULL, return 0;);
- ASSERT(self != NULL, goto out;);
- ASSERT(self->magic == IAS_MAGIC, goto out;);
+ IRDA_ASSERT(skb != NULL, return 0;);
+ IRDA_ASSERT(self != NULL, goto out;);
+ IRDA_ASSERT(self->magic == IAS_MAGIC, goto out;);
frame = skb->data;
@@ -840,8 +840,9 @@ static int iriap_data_indication(void *instance, void *sap,
}
opcode = frame[0];
if (~opcode & IAP_LST) {
- WARNING("%s:, IrIAS multiframe commands or "
- "results is not implemented yet!\n", __FUNCTION__);
+ IRDA_WARNING("%s:, IrIAS multiframe commands or "
+ "results is not implemented yet!\n",
+ __FUNCTION__);
goto out;
}
@@ -917,24 +918,24 @@ void iriap_call_indication(struct iriap_cb *self, struct sk_buff *skb)
IRDA_DEBUG(4, "%s()\n", __FUNCTION__);
- ASSERT(self != NULL, return;);
- ASSERT(self->magic == IAS_MAGIC, return;);
- ASSERT(skb != NULL, return;);
+ IRDA_ASSERT(self != NULL, return;);
+ IRDA_ASSERT(self->magic == IAS_MAGIC, return;);
+ IRDA_ASSERT(skb != NULL, return;);
fp = skb->data;
opcode = fp[0];
if (~opcode & 0x80) {
- WARNING("%s: IrIAS multiframe commands or results"
- "is not implemented yet!\n", __FUNCTION__);
+ IRDA_WARNING("%s: IrIAS multiframe commands or results"
+ "is not implemented yet!\n", __FUNCTION__);
return;
}
opcode &= 0x7f; /* Mask away LST bit */
switch (opcode) {
case GET_INFO_BASE:
- WARNING("%s: GetInfoBaseDetails not implemented yet!\n",
- __FUNCTION__);
+ IRDA_WARNING("%s: GetInfoBaseDetails not implemented yet!\n",
+ __FUNCTION__);
break;
case GET_VALUE_BY_CLASS:
iriap_getvaluebyclass_indication(self, skb);
@@ -953,8 +954,8 @@ static void iriap_watchdog_timer_expired(void *data)
{
struct iriap_cb *self = (struct iriap_cb *) data;
- ASSERT(self != NULL, return;);
- ASSERT(self->magic == IAS_MAGIC, return;);
+ IRDA_ASSERT(self != NULL, return;);
+ IRDA_ASSERT(self->magic == IAS_MAGIC, return;);
/* iriap_close(self); */
}
@@ -1010,7 +1011,7 @@ static int irias_seq_show(struct seq_file *seq, void *v)
struct ias_object *obj = v;
struct ias_attrib *attrib;
- ASSERT(obj->magic == IAS_OBJECT_MAGIC, return -EINVAL;);
+ IRDA_ASSERT(obj->magic == IAS_OBJECT_MAGIC, return -EINVAL;);
seq_printf(seq, "name: %s, id=%d\n",
obj->name, obj->id);
@@ -1025,7 +1026,8 @@ static int irias_seq_show(struct seq_file *seq, void *v)
attrib != NULL;
attrib = (struct ias_attrib *) hashbin_get_next(obj->attribs)) {
- ASSERT(attrib->magic == IAS_ATTRIB_MAGIC, break; );
+ IRDA_ASSERT(attrib->magic == IAS_ATTRIB_MAGIC,
+ goto outloop; );
seq_printf(seq, " - Attribute name: \"%s\", ",
attrib->name);
@@ -1055,6 +1057,7 @@ static int irias_seq_show(struct seq_file *seq, void *v)
seq_putc(seq, '\n');
}
+ IRDA_ASSERT_LABEL(outloop:)
spin_unlock(&obj->attribs->hb_spinlock);
}
@@ -1070,7 +1073,7 @@ static struct seq_operations irias_seq_ops = {
static int irias_seq_open(struct inode *inode, struct file *file)
{
- ASSERT( irias_objects != NULL, return -EINVAL;);
+ IRDA_ASSERT( irias_objects != NULL, return -EINVAL;);
return seq_open(file, &irias_seq_ops);
}
diff --git a/net/irda/iriap_event.c b/net/irda/iriap_event.c
index ce209ad44eaf..a73607450de1 100644
--- a/net/irda/iriap_event.c
+++ b/net/irda/iriap_event.c
@@ -93,32 +93,32 @@ static void (*iriap_state[])(struct iriap_cb *self, IRIAP_EVENT event,
void iriap_next_client_state(struct iriap_cb *self, IRIAP_STATE state)
{
- ASSERT(self != NULL, return;);
- ASSERT(self->magic == IAS_MAGIC, return;);
+ IRDA_ASSERT(self != NULL, return;);
+ IRDA_ASSERT(self->magic == IAS_MAGIC, return;);
self->client_state = state;
}
void iriap_next_call_state(struct iriap_cb *self, IRIAP_STATE state)
{
- ASSERT(self != NULL, return;);
- ASSERT(self->magic == IAS_MAGIC, return;);
+ IRDA_ASSERT(self != NULL, return;);
+ IRDA_ASSERT(self->magic == IAS_MAGIC, return;);
self->call_state = state;
}
void iriap_next_server_state(struct iriap_cb *self, IRIAP_STATE state)
{
- ASSERT(self != NULL, return;);
- ASSERT(self->magic == IAS_MAGIC, return;);
+ IRDA_ASSERT(self != NULL, return;);
+ IRDA_ASSERT(self->magic == IAS_MAGIC, return;);
self->server_state = state;
}
void iriap_next_r_connect_state(struct iriap_cb *self, IRIAP_STATE state)
{
- ASSERT(self != NULL, return;);
- ASSERT(self->magic == IAS_MAGIC, return;);
+ IRDA_ASSERT(self != NULL, return;);
+ IRDA_ASSERT(self->magic == IAS_MAGIC, return;);
self->r_connect_state = state;
}
@@ -126,8 +126,8 @@ void iriap_next_r_connect_state(struct iriap_cb *self, IRIAP_STATE state)
void iriap_do_client_event(struct iriap_cb *self, IRIAP_EVENT event,
struct sk_buff *skb)
{
- ASSERT(self != NULL, return;);
- ASSERT(self->magic == IAS_MAGIC, return;);
+ IRDA_ASSERT(self != NULL, return;);
+ IRDA_ASSERT(self->magic == IAS_MAGIC, return;);
(*iriap_state[ self->client_state]) (self, event, skb);
}
@@ -135,8 +135,8 @@ void iriap_do_client_event(struct iriap_cb *self, IRIAP_EVENT event,
void iriap_do_call_event(struct iriap_cb *self, IRIAP_EVENT event,
struct sk_buff *skb)
{
- ASSERT(self != NULL, return;);
- ASSERT(self->magic == IAS_MAGIC, return;);
+ IRDA_ASSERT(self != NULL, return;);
+ IRDA_ASSERT(self->magic == IAS_MAGIC, return;);
(*iriap_state[ self->call_state]) (self, event, skb);
}
@@ -144,8 +144,8 @@ void iriap_do_call_event(struct iriap_cb *self, IRIAP_EVENT event,
void iriap_do_server_event(struct iriap_cb *self, IRIAP_EVENT event,
struct sk_buff *skb)
{
- ASSERT(self != NULL, return;);
- ASSERT(self->magic == IAS_MAGIC, return;);
+ IRDA_ASSERT(self != NULL, return;);
+ IRDA_ASSERT(self->magic == IAS_MAGIC, return;);
(*iriap_state[ self->server_state]) (self, event, skb);
}
@@ -153,8 +153,8 @@ void iriap_do_server_event(struct iriap_cb *self, IRIAP_EVENT event,
void iriap_do_r_connect_event(struct iriap_cb *self, IRIAP_EVENT event,
struct sk_buff *skb)
{
- ASSERT(self != NULL, return;);
- ASSERT(self->magic == IAS_MAGIC, return;);
+ IRDA_ASSERT(self != NULL, return;);
+ IRDA_ASSERT(self->magic == IAS_MAGIC, return;);
(*iriap_state[ self->r_connect_state]) (self, event, skb);
}
@@ -169,13 +169,13 @@ void iriap_do_r_connect_event(struct iriap_cb *self, IRIAP_EVENT event,
static void state_s_disconnect(struct iriap_cb *self, IRIAP_EVENT event,
struct sk_buff *skb)
{
- ASSERT(self != NULL, return;);
- ASSERT(self->magic == IAS_MAGIC, return;);
+ IRDA_ASSERT(self != NULL, return;);
+ IRDA_ASSERT(self->magic == IAS_MAGIC, return;);
switch (event) {
case IAP_CALL_REQUEST_GVBC:
iriap_next_client_state(self, S_CONNECTING);
- ASSERT(self->request_skb == NULL, return;);
+ IRDA_ASSERT(self->request_skb == NULL, return;);
/* Don't forget to refcount it -
* see iriap_getvaluebyclass_request(). */
skb_get(skb);
@@ -199,8 +199,8 @@ static void state_s_disconnect(struct iriap_cb *self, IRIAP_EVENT event,
static void state_s_connecting(struct iriap_cb *self, IRIAP_EVENT event,
struct sk_buff *skb)
{
- ASSERT(self != NULL, return;);
- ASSERT(self->magic == IAS_MAGIC, return;);
+ IRDA_ASSERT(self != NULL, return;);
+ IRDA_ASSERT(self->magic == IAS_MAGIC, return;);
switch (event) {
case IAP_LM_CONNECT_CONFIRM:
@@ -232,7 +232,7 @@ static void state_s_connecting(struct iriap_cb *self, IRIAP_EVENT event,
static void state_s_call(struct iriap_cb *self, IRIAP_EVENT event,
struct sk_buff *skb)
{
- ASSERT(self != NULL, return;);
+ IRDA_ASSERT(self != NULL, return;);
switch (event) {
case IAP_LM_DISCONNECT_INDICATION:
@@ -257,7 +257,7 @@ static void state_s_make_call(struct iriap_cb *self, IRIAP_EVENT event,
{
struct sk_buff *tx_skb;
- ASSERT(self != NULL, return;);
+ IRDA_ASSERT(self != NULL, return;);
switch (event) {
case IAP_CALL_REQUEST:
@@ -295,7 +295,7 @@ static void state_s_calling(struct iriap_cb *self, IRIAP_EVENT event,
static void state_s_outstanding(struct iriap_cb *self, IRIAP_EVENT event,
struct sk_buff *skb)
{
- ASSERT(self != NULL, return;);
+ IRDA_ASSERT(self != NULL, return;);
switch (event) {
case IAP_RECV_F_LST:
@@ -367,7 +367,7 @@ static void state_r_disconnect(struct iriap_cb *self, IRIAP_EVENT event,
case IAP_LM_CONNECT_INDICATION:
tx_skb = dev_alloc_skb(64);
if (tx_skb == NULL) {
- WARNING("%s: unable to malloc!\n", __FUNCTION__);
+ IRDA_WARNING("%s: unable to malloc!\n", __FUNCTION__);
return;
}
@@ -464,9 +464,9 @@ static void state_r_execute(struct iriap_cb *self, IRIAP_EVENT event,
{
IRDA_DEBUG(4, "%s()\n", __FUNCTION__);
- ASSERT(skb != NULL, return;);
- ASSERT(self != NULL, return;);
- ASSERT(self->magic == IAS_MAGIC, return;);
+ IRDA_ASSERT(skb != NULL, return;);
+ IRDA_ASSERT(self != NULL, return;);
+ IRDA_ASSERT(self->magic == IAS_MAGIC, return;);
switch (event) {
case IAP_CALL_RESPONSE:
diff --git a/net/irda/irias_object.c b/net/irda/irias_object.c
index 98c9e1517a2f..6fec428b4512 100644
--- a/net/irda/irias_object.c
+++ b/net/irda/irias_object.c
@@ -59,7 +59,7 @@ static char *strndup(char *str, int max)
/* Allocate new string */
new_str = kmalloc(len + 1, GFP_ATOMIC);
if (new_str == NULL) {
- WARNING("%s: Unable to kmalloc!\n", __FUNCTION__);
+ IRDA_WARNING("%s: Unable to kmalloc!\n", __FUNCTION__);
return NULL;
}
@@ -85,8 +85,8 @@ struct ias_object *irias_new_object( char *name, int id)
obj = (struct ias_object *) kmalloc(sizeof(struct ias_object),
GFP_ATOMIC);
if (obj == NULL) {
- WARNING("%s(), Unable to allocate object!\n",
- __FUNCTION__);
+ IRDA_WARNING("%s(), Unable to allocate object!\n",
+ __FUNCTION__);
return NULL;
}
memset(obj, 0, sizeof( struct ias_object));
@@ -101,7 +101,8 @@ struct ias_object *irias_new_object( char *name, int id)
obj->attribs = hashbin_new(HB_LOCK);
if (obj->attribs == NULL) {
- WARNING("%s(), Unable to allocate attribs!\n", __FUNCTION__);
+ IRDA_WARNING("%s(), Unable to allocate attribs!\n",
+ __FUNCTION__);
kfree(obj);
return NULL;
}
@@ -118,8 +119,8 @@ EXPORT_SYMBOL(irias_new_object);
*/
static void __irias_delete_attrib(struct ias_attrib *attrib)
{
- ASSERT(attrib != NULL, return;);
- ASSERT(attrib->magic == IAS_ATTRIB_MAGIC, return;);
+ IRDA_ASSERT(attrib != NULL, return;);
+ IRDA_ASSERT(attrib->magic == IAS_ATTRIB_MAGIC, return;);
if (attrib->name)
kfree(attrib->name);
@@ -132,8 +133,8 @@ static void __irias_delete_attrib(struct ias_attrib *attrib)
void __irias_delete_object(struct ias_object *obj)
{
- ASSERT(obj != NULL, return;);
- ASSERT(obj->magic == IAS_OBJECT_MAGIC, return;);
+ IRDA_ASSERT(obj != NULL, return;);
+ IRDA_ASSERT(obj->magic == IAS_OBJECT_MAGIC, return;);
if (obj->name)
kfree(obj->name);
@@ -156,8 +157,8 @@ int irias_delete_object(struct ias_object *obj)
{
struct ias_object *node;
- ASSERT(obj != NULL, return -1;);
- ASSERT(obj->magic == IAS_OBJECT_MAGIC, return -1;);
+ IRDA_ASSERT(obj != NULL, return -1;);
+ IRDA_ASSERT(obj->magic == IAS_OBJECT_MAGIC, return -1;);
/* Remove from list */
node = hashbin_remove_this(irias_objects, (irda_queue_t *) obj);
@@ -184,9 +185,9 @@ int irias_delete_attrib(struct ias_object *obj, struct ias_attrib *attrib,
{
struct ias_attrib *node;
- ASSERT(obj != NULL, return -1;);
- ASSERT(obj->magic == IAS_OBJECT_MAGIC, return -1;);
- ASSERT(attrib != NULL, return -1;);
+ IRDA_ASSERT(obj != NULL, return -1;);
+ IRDA_ASSERT(obj->magic == IAS_OBJECT_MAGIC, return -1;);
+ IRDA_ASSERT(attrib != NULL, return -1;);
/* Remove attribute from object */
node = hashbin_remove_this(obj->attribs, (irda_queue_t *) attrib);
@@ -216,8 +217,8 @@ int irias_delete_attrib(struct ias_object *obj, struct ias_attrib *attrib,
*/
void irias_insert_object(struct ias_object *obj)
{
- ASSERT(obj != NULL, return;);
- ASSERT(obj->magic == IAS_OBJECT_MAGIC, return;);
+ IRDA_ASSERT(obj != NULL, return;);
+ IRDA_ASSERT(obj->magic == IAS_OBJECT_MAGIC, return;);
hashbin_insert(irias_objects, (irda_queue_t *) obj, 0, obj->name);
}
@@ -231,7 +232,7 @@ EXPORT_SYMBOL(irias_insert_object);
*/
struct ias_object *irias_find_object(char *name)
{
- ASSERT(name != NULL, return NULL;);
+ IRDA_ASSERT(name != NULL, return NULL;);
/* Unsafe (locking), object might change */
return hashbin_lock_find(irias_objects, 0, name);
@@ -248,9 +249,9 @@ struct ias_attrib *irias_find_attrib(struct ias_object *obj, char *name)
{
struct ias_attrib *attrib;
- ASSERT(obj != NULL, return NULL;);
- ASSERT(obj->magic == IAS_OBJECT_MAGIC, return NULL;);
- ASSERT(name != NULL, return NULL;);
+ IRDA_ASSERT(obj != NULL, return NULL;);
+ IRDA_ASSERT(obj->magic == IAS_OBJECT_MAGIC, return NULL;);
+ IRDA_ASSERT(name != NULL, return NULL;);
attrib = hashbin_lock_find(obj->attribs, 0, name);
if (attrib == NULL)
@@ -270,11 +271,11 @@ EXPORT_SYMBOL(irias_find_attrib);
static void irias_add_attrib(struct ias_object *obj, struct ias_attrib *attrib,
int owner)
{
- ASSERT(obj != NULL, return;);
- ASSERT(obj->magic == IAS_OBJECT_MAGIC, return;);
+ IRDA_ASSERT(obj != NULL, return;);
+ IRDA_ASSERT(obj->magic == IAS_OBJECT_MAGIC, return;);
- ASSERT(attrib != NULL, return;);
- ASSERT(attrib->magic == IAS_ATTRIB_MAGIC, return;);
+ IRDA_ASSERT(attrib != NULL, return;);
+ IRDA_ASSERT(attrib->magic == IAS_ATTRIB_MAGIC, return;);
/* Set if attrib is owned by kernel or user space */
attrib->value->owner = owner;
@@ -298,8 +299,8 @@ int irias_object_change_attribute(char *obj_name, char *attrib_name,
/* Find object */
obj = hashbin_lock_find(irias_objects, 0, obj_name);
if (obj == NULL) {
- WARNING("%s: Unable to find object: %s\n", __FUNCTION__,
- obj_name);
+ IRDA_WARNING("%s: Unable to find object: %s\n", __FUNCTION__,
+ obj_name);
return -1;
}
@@ -309,8 +310,8 @@ int irias_object_change_attribute(char *obj_name, char *attrib_name,
/* Find attribute */
attrib = hashbin_find(obj->attribs, 0, attrib_name);
if (attrib == NULL) {
- WARNING("%s: Unable to find attribute: %s\n", __FUNCTION__,
- attrib_name);
+ IRDA_WARNING("%s: Unable to find attribute: %s\n",
+ __FUNCTION__, attrib_name);
spin_unlock_irqrestore(&obj->attribs->hb_spinlock, flags);
return -1;
}
@@ -345,14 +346,15 @@ void irias_add_integer_attrib(struct ias_object *obj, char *name, int value,
{
struct ias_attrib *attrib;
- ASSERT(obj != NULL, return;);
- ASSERT(obj->magic == IAS_OBJECT_MAGIC, return;);
- ASSERT(name != NULL, return;);
+ IRDA_ASSERT(obj != NULL, return;);
+ IRDA_ASSERT(obj->magic == IAS_OBJECT_MAGIC, return;);
+ IRDA_ASSERT(name != NULL, return;);
attrib = (struct ias_attrib *) kmalloc(sizeof(struct ias_attrib),
GFP_ATOMIC);
if (attrib == NULL) {
- WARNING("%s: Unable to allocate attribute!\n", __FUNCTION__);
+ IRDA_WARNING("%s: Unable to allocate attribute!\n",
+ __FUNCTION__);
return;
}
memset(attrib, 0, sizeof( struct ias_attrib));
@@ -379,16 +381,17 @@ void irias_add_octseq_attrib(struct ias_object *obj, char *name, __u8 *octets,
{
struct ias_attrib *attrib;
- ASSERT(obj != NULL, return;);
- ASSERT(obj->magic == IAS_OBJECT_MAGIC, return;);
+ IRDA_ASSERT(obj != NULL, return;);
+ IRDA_ASSERT(obj->magic == IAS_OBJECT_MAGIC, return;);
- ASSERT(name != NULL, return;);
- ASSERT(octets != NULL, return;);
+ IRDA_ASSERT(name != NULL, return;);
+ IRDA_ASSERT(octets != NULL, return;);
attrib = (struct ias_attrib *) kmalloc(sizeof(struct ias_attrib),
GFP_ATOMIC);
if (attrib == NULL) {
- WARNING("%s: Unable to allocate attribute!\n", __FUNCTION__);
+ IRDA_WARNING("%s: Unable to allocate attribute!\n",
+ __FUNCTION__);
return;
}
memset(attrib, 0, sizeof( struct ias_attrib));
@@ -413,16 +416,17 @@ void irias_add_string_attrib(struct ias_object *obj, char *name, char *value,
{
struct ias_attrib *attrib;
- ASSERT(obj != NULL, return;);
- ASSERT(obj->magic == IAS_OBJECT_MAGIC, return;);
+ IRDA_ASSERT(obj != NULL, return;);
+ IRDA_ASSERT(obj->magic == IAS_OBJECT_MAGIC, return;);
- ASSERT(name != NULL, return;);
- ASSERT(value != NULL, return;);
+ IRDA_ASSERT(name != NULL, return;);
+ IRDA_ASSERT(value != NULL, return;);
attrib = (struct ias_attrib *) kmalloc(sizeof( struct ias_attrib),
GFP_ATOMIC);
if (attrib == NULL) {
- WARNING("%s: Unable to allocate attribute!\n", __FUNCTION__);
+ IRDA_WARNING("%s: Unable to allocate attribute!\n",
+ __FUNCTION__);
return;
}
memset(attrib, 0, sizeof( struct ias_attrib));
@@ -448,7 +452,7 @@ struct ias_value *irias_new_integer_value(int integer)
value = kmalloc(sizeof(struct ias_value), GFP_ATOMIC);
if (value == NULL) {
- WARNING("%s: Unable to kmalloc!\n", __FUNCTION__);
+ IRDA_WARNING("%s: Unable to kmalloc!\n", __FUNCTION__);
return NULL;
}
memset(value, 0, sizeof(struct ias_value));
@@ -474,7 +478,7 @@ struct ias_value *irias_new_string_value(char *string)
value = kmalloc(sizeof(struct ias_value), GFP_ATOMIC);
if (value == NULL) {
- WARNING("%s: Unable to kmalloc!\n", __FUNCTION__);
+ IRDA_WARNING("%s: Unable to kmalloc!\n", __FUNCTION__);
return NULL;
}
memset( value, 0, sizeof( struct ias_value));
@@ -501,7 +505,7 @@ struct ias_value *irias_new_octseq_value(__u8 *octseq , int len)
value = kmalloc(sizeof(struct ias_value), GFP_ATOMIC);
if (value == NULL) {
- WARNING("%s: Unable to kmalloc!\n", __FUNCTION__);
+ IRDA_WARNING("%s: Unable to kmalloc!\n", __FUNCTION__);
return NULL;
}
memset(value, 0, sizeof(struct ias_value));
@@ -514,7 +518,7 @@ struct ias_value *irias_new_octseq_value(__u8 *octseq , int len)
value->t.oct_seq = kmalloc(len, GFP_ATOMIC);
if (value->t.oct_seq == NULL){
- WARNING("%s: Unable to kmalloc!\n", __FUNCTION__);
+ IRDA_WARNING("%s: Unable to kmalloc!\n", __FUNCTION__);
kfree(value);
return NULL;
}
@@ -529,7 +533,7 @@ struct ias_value *irias_new_missing_value(void)
value = kmalloc(sizeof(struct ias_value), GFP_ATOMIC);
if (value == NULL) {
- WARNING("%s: Unable to kmalloc!\n", __FUNCTION__);
+ IRDA_WARNING("%s: Unable to kmalloc!\n", __FUNCTION__);
return NULL;
}
memset(value, 0, sizeof(struct ias_value));
@@ -550,7 +554,7 @@ void irias_delete_value(struct ias_value *value)
{
IRDA_DEBUG(4, "%s()\n", __FUNCTION__);
- ASSERT(value != NULL, return;);
+ IRDA_ASSERT(value != NULL, return;);
switch (value->type) {
case IAS_INTEGER: /* Fallthrough */
diff --git a/net/irda/irlan/irlan_client.c b/net/irda/irlan/irlan_client.c
index 92dbe620340e..f8e6cb0db04b 100644
--- a/net/irda/irlan/irlan_client.c
+++ b/net/irda/irlan/irlan_client.c
@@ -74,8 +74,8 @@ static void irlan_client_kick_timer_expired(void *data)
IRDA_DEBUG(2, "%s()\n", __FUNCTION__ );
- ASSERT(self != NULL, return;);
- ASSERT(self->magic == IRLAN_MAGIC, return;);
+ IRDA_ASSERT(self != NULL, return;);
+ IRDA_ASSERT(self->magic == IRLAN_MAGIC, return;);
/*
* If we are in peer mode, the client may not have got the discovery
@@ -107,8 +107,8 @@ void irlan_client_wakeup(struct irlan_cb *self, __u32 saddr, __u32 daddr)
{
IRDA_DEBUG(1, "%s()\n", __FUNCTION__ );
- ASSERT(self != NULL, return;);
- ASSERT(self->magic == IRLAN_MAGIC, return;);
+ IRDA_ASSERT(self != NULL, return;);
+ IRDA_ASSERT(self->magic == IRLAN_MAGIC, return;);
/*
* Check if we are already awake, or if we are a provider in direct
@@ -155,7 +155,7 @@ void irlan_client_discovery_indication(discinfo_t *discovery,
IRDA_DEBUG(1, "%s()\n", __FUNCTION__ );
- ASSERT(discovery != NULL, return;);
+ IRDA_ASSERT(discovery != NULL, return;);
/*
* I didn't check it, but I bet that IrLAN suffer from the same
@@ -173,7 +173,7 @@ void irlan_client_discovery_indication(discinfo_t *discovery,
rcu_read_lock();
self = irlan_get_any();
if (self) {
- ASSERT(self->magic == IRLAN_MAGIC, return;);
+ IRDA_ASSERT(self->magic == IRLAN_MAGIC, return;);
IRDA_DEBUG(1, "%s(), Found instance (%08x)!\n", __FUNCTION__ ,
daddr);
@@ -198,9 +198,9 @@ static int irlan_client_ctrl_data_indication(void *instance, void *sap,
self = (struct irlan_cb *) instance;
- ASSERT(self != NULL, return -1;);
- ASSERT(self->magic == IRLAN_MAGIC, return -1;);
- ASSERT(skb != NULL, return -1;);
+ IRDA_ASSERT(self != NULL, return -1;);
+ IRDA_ASSERT(self->magic == IRLAN_MAGIC, return -1;);
+ IRDA_ASSERT(skb != NULL, return -1;);
irlan_do_client_event(self, IRLAN_DATA_INDICATION, skb);
@@ -227,12 +227,12 @@ static void irlan_client_ctrl_disconnect_indication(void *instance, void *sap,
self = (struct irlan_cb *) instance;
tsap = (struct tsap_cb *) sap;
- ASSERT(self != NULL, return;);
- ASSERT(self->magic == IRLAN_MAGIC, return;);
- ASSERT(tsap != NULL, return;);
- ASSERT(tsap->magic == TTP_TSAP_MAGIC, return;);
+ IRDA_ASSERT(self != NULL, return;);
+ IRDA_ASSERT(self->magic == IRLAN_MAGIC, return;);
+ IRDA_ASSERT(tsap != NULL, return;);
+ IRDA_ASSERT(tsap->magic == TTP_TSAP_MAGIC, return;);
- ASSERT(tsap == self->client.tsap_ctrl, return;);
+ IRDA_ASSERT(tsap == self->client.tsap_ctrl, return;);
/* Remove frames queued on the control channel */
while ((skb = skb_dequeue(&self->client.txq)) != NULL) {
@@ -256,8 +256,8 @@ static void irlan_client_open_ctrl_tsap(struct irlan_cb *self)
IRDA_DEBUG(4, "%s()\n", __FUNCTION__ );
- ASSERT(self != NULL, return;);
- ASSERT(self->magic == IRLAN_MAGIC, return;);
+ IRDA_ASSERT(self != NULL, return;);
+ IRDA_ASSERT(self->magic == IRLAN_MAGIC, return;);
/* Check if already open */
if (self->client.tsap_ctrl)
@@ -298,8 +298,8 @@ static void irlan_client_ctrl_connect_confirm(void *instance, void *sap,
self = (struct irlan_cb *) instance;
- ASSERT(self != NULL, return;);
- ASSERT(self->magic == IRLAN_MAGIC, return;);
+ IRDA_ASSERT(self != NULL, return;);
+ IRDA_ASSERT(self->magic == IRLAN_MAGIC, return;);
self->client.max_sdu_size = max_sdu_size;
self->client.max_header_size = max_header_size;
@@ -322,34 +322,34 @@ static void print_ret_code(__u8 code)
printk(KERN_INFO "Success\n");
break;
case 1:
- WARNING("IrLAN: Insufficient resources\n");
+ IRDA_WARNING("IrLAN: Insufficient resources\n");
break;
case 2:
- WARNING("IrLAN: Invalid command format\n");
+ IRDA_WARNING("IrLAN: Invalid command format\n");
break;
case 3:
- WARNING("IrLAN: Command not supported\n");
+ IRDA_WARNING("IrLAN: Command not supported\n");
break;
case 4:
- WARNING("IrLAN: Parameter not supported\n");
+ IRDA_WARNING("IrLAN: Parameter not supported\n");
break;
case 5:
- WARNING("IrLAN: Value not supported\n");
+ IRDA_WARNING("IrLAN: Value not supported\n");
break;
case 6:
- WARNING("IrLAN: Not open\n");
+ IRDA_WARNING("IrLAN: Not open\n");
break;
case 7:
- WARNING("IrLAN: Authentication required\n");
+ IRDA_WARNING("IrLAN: Authentication required\n");
break;
case 8:
- WARNING("IrLAN: Invalid password\n");
+ IRDA_WARNING("IrLAN: Invalid password\n");
break;
case 9:
- WARNING("IrLAN: Protocol error\n");
+ IRDA_WARNING("IrLAN: Protocol error\n");
break;
case 255:
- WARNING("IrLAN: Asynchronous status\n");
+ IRDA_WARNING("IrLAN: Asynchronous status\n");
break;
}
}
@@ -371,15 +371,15 @@ void irlan_client_parse_response(struct irlan_cb *self, struct sk_buff *skb)
char *name;
char *value;
- ASSERT(skb != NULL, return;);
+ IRDA_ASSERT(skb != NULL, return;);
IRDA_DEBUG(4, "%s() skb->len=%d\n", __FUNCTION__ , (int) skb->len);
- ASSERT(self != NULL, return;);
- ASSERT(self->magic == IRLAN_MAGIC, return;);
+ IRDA_ASSERT(self != NULL, return;);
+ IRDA_ASSERT(self->magic == IRLAN_MAGIC, return;);
if (!skb) {
- ERROR("%s(), Got NULL skb!\n", __FUNCTION__);
+ IRDA_ERROR("%s(), Got NULL skb!\n", __FUNCTION__);
return;
}
frame = skb->data;
@@ -438,8 +438,8 @@ static void irlan_check_response_param(struct irlan_cb *self, char *param,
IRDA_DEBUG(4, "%s(), parm=%s\n", __FUNCTION__ , param);
- ASSERT(self != NULL, return;);
- ASSERT(self->magic == IRLAN_MAGIC, return;);
+ IRDA_ASSERT(self != NULL, return;);
+ IRDA_ASSERT(self->magic == IRLAN_MAGIC, return;);
/* Media type */
if (strcmp(param, "MEDIA") == 0) {
@@ -540,10 +540,10 @@ void irlan_client_get_value_confirm(int result, __u16 obj_id,
IRDA_DEBUG(4, "%s()\n", __FUNCTION__ );
- ASSERT(priv != NULL, return;);
+ IRDA_ASSERT(priv != NULL, return;);
self = (struct irlan_cb *) priv;
- ASSERT(self->magic == IRLAN_MAGIC, return;);
+ IRDA_ASSERT(self->magic == IRLAN_MAGIC, return;);
/* We probably don't need to make any more queries */
iriap_close(self->client.iriap);
diff --git a/net/irda/irlan/irlan_client_event.c b/net/irda/irlan/irlan_client_event.c
index 0484ca24ad94..ce943b69e996 100644
--- a/net/irda/irlan/irlan_client_event.c
+++ b/net/irda/irlan/irlan_client_event.c
@@ -77,8 +77,8 @@ static int (*state[])(struct irlan_cb *, IRLAN_EVENT event, struct sk_buff *) =
void irlan_do_client_event(struct irlan_cb *self, IRLAN_EVENT event,
struct sk_buff *skb)
{
- ASSERT(self != NULL, return;);
- ASSERT(self->magic == IRLAN_MAGIC, return;);
+ IRDA_ASSERT(self != NULL, return;);
+ IRDA_ASSERT(self->magic == IRLAN_MAGIC, return;);
(*state[ self->client.state]) (self, event, skb);
}
@@ -94,13 +94,14 @@ static int irlan_client_state_idle(struct irlan_cb *self, IRLAN_EVENT event,
{
IRDA_DEBUG(4, "%s()\n", __FUNCTION__ );
- ASSERT(self != NULL, return -1;);
- ASSERT(self->magic == IRLAN_MAGIC, return -1;);
+ IRDA_ASSERT(self != NULL, return -1;);
+ IRDA_ASSERT(self->magic == IRLAN_MAGIC, return -1;);
switch (event) {
case IRLAN_DISCOVERY_INDICATION:
if (self->client.iriap) {
- WARNING("%s(), busy with a previous query\n", __FUNCTION__);
+ IRDA_WARNING("%s(), busy with a previous query\n",
+ __FUNCTION__);
return -EBUSY;
}
@@ -137,12 +138,12 @@ static int irlan_client_state_query(struct irlan_cb *self, IRLAN_EVENT event,
{
IRDA_DEBUG(4, "%s()\n", __FUNCTION__ );
- ASSERT(self != NULL, return -1;);
- ASSERT(self->magic == IRLAN_MAGIC, return -1;);
+ IRDA_ASSERT(self != NULL, return -1;);
+ IRDA_ASSERT(self->magic == IRLAN_MAGIC, return -1;);
switch(event) {
case IRLAN_IAS_PROVIDER_AVAIL:
- ASSERT(self->dtsap_sel_ctrl != 0, return -1;);
+ IRDA_ASSERT(self->dtsap_sel_ctrl != 0, return -1;);
self->client.open_retries = 0;
@@ -190,7 +191,7 @@ static int irlan_client_state_conn(struct irlan_cb *self, IRLAN_EVENT event,
{
IRDA_DEBUG(4, "%s()\n", __FUNCTION__ );
- ASSERT(self != NULL, return -1;);
+ IRDA_ASSERT(self != NULL, return -1;);
switch (event) {
case IRLAN_CONNECT_COMPLETE:
@@ -225,11 +226,11 @@ static int irlan_client_state_info(struct irlan_cb *self, IRLAN_EVENT event,
{
IRDA_DEBUG(4, "%s()\n", __FUNCTION__ );
- ASSERT(self != NULL, return -1;);
+ IRDA_ASSERT(self != NULL, return -1;);
switch (event) {
case IRLAN_DATA_INDICATION:
- ASSERT(skb != NULL, return -1;);
+ IRDA_ASSERT(skb != NULL, return -1;);
irlan_client_parse_response(self, skb);
@@ -267,7 +268,7 @@ static int irlan_client_state_media(struct irlan_cb *self, IRLAN_EVENT event,
{
IRDA_DEBUG(4, "%s()\n", __FUNCTION__ );
- ASSERT(self != NULL, return -1;);
+ IRDA_ASSERT(self != NULL, return -1;);
switch(event) {
case IRLAN_DATA_INDICATION:
@@ -306,7 +307,7 @@ static int irlan_client_state_open(struct irlan_cb *self, IRLAN_EVENT event,
IRDA_DEBUG(4, "%s()\n", __FUNCTION__ );
- ASSERT(self != NULL, return -1;);
+ IRDA_ASSERT(self != NULL, return -1;);
switch(event) {
case IRLAN_DATA_INDICATION:
@@ -316,7 +317,7 @@ static int irlan_client_state_open(struct irlan_cb *self, IRLAN_EVENT event,
* Check if we have got the remote TSAP for data
* communications
*/
- ASSERT(self->dtsap_sel_data != 0, return -1;);
+ IRDA_ASSERT(self->dtsap_sel_data != 0, return -1;);
/* Check which access type we are dealing with */
switch (self->client.access_type) {
@@ -377,7 +378,7 @@ static int irlan_client_state_wait(struct irlan_cb *self, IRLAN_EVENT event,
{
IRDA_DEBUG(4, "%s()\n", __FUNCTION__ );
- ASSERT(self != NULL, return -1;);
+ IRDA_ASSERT(self != NULL, return -1;);
switch(event) {
case IRLAN_PROVIDER_SIGNAL:
@@ -408,7 +409,7 @@ static int irlan_client_state_arb(struct irlan_cb *self, IRLAN_EVENT event,
IRDA_DEBUG(2, "%s()\n", __FUNCTION__ );
- ASSERT(self != NULL, return -1;);
+ IRDA_ASSERT(self != NULL, return -1;);
switch(event) {
case IRLAN_CHECK_CON_ARB:
@@ -463,8 +464,8 @@ static int irlan_client_state_data(struct irlan_cb *self, IRLAN_EVENT event,
{
IRDA_DEBUG(4, "%s()\n", __FUNCTION__ );
- ASSERT(self != NULL, return -1;);
- ASSERT(self->magic == IRLAN_MAGIC, return -1;);
+ IRDA_ASSERT(self != NULL, return -1;);
+ IRDA_ASSERT(self->magic == IRLAN_MAGIC, return -1;);
switch(event) {
case IRLAN_DATA_INDICATION:
diff --git a/net/irda/irlan/irlan_common.c b/net/irda/irlan/irlan_common.c
index fd9f3043119b..657d12210578 100644
--- a/net/irda/irlan/irlan_common.c
+++ b/net/irda/irlan/irlan_common.c
@@ -261,8 +261,8 @@ static void __irlan_close(struct irlan_cb *self)
IRDA_DEBUG(2, "%s()\n", __FUNCTION__ );
ASSERT_RTNL();
- ASSERT(self != NULL, return;);
- ASSERT(self->magic == IRLAN_MAGIC, return;);
+ IRDA_ASSERT(self != NULL, return;);
+ IRDA_ASSERT(self->magic == IRLAN_MAGIC, return;);
del_timer_sync(&self->watchdog_timer);
del_timer_sync(&self->client.kick_timer);
@@ -311,9 +311,9 @@ static void irlan_connect_indication(void *instance, void *sap,
self = (struct irlan_cb *) instance;
tsap = (struct tsap_cb *) sap;
- ASSERT(self != NULL, return;);
- ASSERT(self->magic == IRLAN_MAGIC, return;);
- ASSERT(tsap == self->tsap_data,return;);
+ IRDA_ASSERT(self != NULL, return;);
+ IRDA_ASSERT(self->magic == IRLAN_MAGIC, return;);
+ IRDA_ASSERT(tsap == self->tsap_data,return;);
self->max_sdu_size = max_sdu_size;
self->max_header_size = max_header_size;
@@ -354,8 +354,8 @@ static void irlan_connect_confirm(void *instance, void *sap,
self = (struct irlan_cb *) instance;
- ASSERT(self != NULL, return;);
- ASSERT(self->magic == IRLAN_MAGIC, return;);
+ IRDA_ASSERT(self != NULL, return;);
+ IRDA_ASSERT(self->magic == IRLAN_MAGIC, return;);
self->max_sdu_size = max_sdu_size;
self->max_header_size = max_header_size;
@@ -403,12 +403,12 @@ static void irlan_disconnect_indication(void *instance,
self = (struct irlan_cb *) instance;
tsap = (struct tsap_cb *) sap;
- ASSERT(self != NULL, return;);
- ASSERT(self->magic == IRLAN_MAGIC, return;);
- ASSERT(tsap != NULL, return;);
- ASSERT(tsap->magic == TTP_TSAP_MAGIC, return;);
+ IRDA_ASSERT(self != NULL, return;);
+ IRDA_ASSERT(self->magic == IRLAN_MAGIC, return;);
+ IRDA_ASSERT(tsap != NULL, return;);
+ IRDA_ASSERT(tsap->magic == TTP_TSAP_MAGIC, return;);
- ASSERT(tsap == self->tsap_data, return;);
+ IRDA_ASSERT(tsap == self->tsap_data, return;);
IRDA_DEBUG(2, "IrLAN, data channel disconnected by peer!\n");
@@ -432,7 +432,7 @@ static void irlan_disconnect_indication(void *instance,
IRDA_DEBUG(2, "%s(), IrLMP connect failed\n", __FUNCTION__ );
break;
default:
- ERROR("%s(), Unknown disconnect reason\n", __FUNCTION__);
+ IRDA_ERROR("%s(), Unknown disconnect reason\n", __FUNCTION__);
break;
}
@@ -456,8 +456,8 @@ void irlan_open_data_tsap(struct irlan_cb *self)
IRDA_DEBUG(2, "%s()\n", __FUNCTION__ );
- ASSERT(self != NULL, return;);
- ASSERT(self->magic == IRLAN_MAGIC, return;);
+ IRDA_ASSERT(self != NULL, return;);
+ IRDA_ASSERT(self->magic == IRLAN_MAGIC, return;);
/* Check if already open */
if (self->tsap_data)
@@ -492,8 +492,8 @@ void irlan_close_tsaps(struct irlan_cb *self)
{
IRDA_DEBUG(4, "%s()\n", __FUNCTION__ );
- ASSERT(self != NULL, return;);
- ASSERT(self->magic == IRLAN_MAGIC, return;);
+ IRDA_ASSERT(self != NULL, return;);
+ IRDA_ASSERT(self->magic == IRLAN_MAGIC, return;);
/* Disconnect and close all open TSAP connections */
if (self->tsap_data) {
@@ -527,8 +527,8 @@ void irlan_ias_register(struct irlan_cb *self, __u8 tsap_sel)
struct ias_object *obj;
struct ias_value *new_value;
- ASSERT(self != NULL, return;);
- ASSERT(self->magic == IRLAN_MAGIC, return;);
+ IRDA_ASSERT(self != NULL, return;);
+ IRDA_ASSERT(self->magic == IRLAN_MAGIC, return;);
/*
* Check if object has already been registered by a previous provider.
@@ -634,8 +634,8 @@ void irlan_get_provider_info(struct irlan_cb *self)
IRDA_DEBUG(4, "%s()\n", __FUNCTION__ );
- ASSERT(self != NULL, return;);
- ASSERT(self->magic == IRLAN_MAGIC, return;);
+ IRDA_ASSERT(self != NULL, return;);
+ IRDA_ASSERT(self->magic == IRLAN_MAGIC, return;);
skb = dev_alloc_skb(64);
if (!skb)
@@ -666,8 +666,8 @@ void irlan_open_data_channel(struct irlan_cb *self)
IRDA_DEBUG(4, "%s()\n", __FUNCTION__ );
- ASSERT(self != NULL, return;);
- ASSERT(self->magic == IRLAN_MAGIC, return;);
+ IRDA_ASSERT(self != NULL, return;);
+ IRDA_ASSERT(self->magic == IRLAN_MAGIC, return;);
skb = dev_alloc_skb(64);
if (!skb)
@@ -698,8 +698,8 @@ void irlan_close_data_channel(struct irlan_cb *self)
IRDA_DEBUG(4, "%s()\n", __FUNCTION__ );
- ASSERT(self != NULL, return;);
- ASSERT(self->magic == IRLAN_MAGIC, return;);
+ IRDA_ASSERT(self != NULL, return;);
+ IRDA_ASSERT(self->magic == IRLAN_MAGIC, return;);
/* Check if the TSAP is still there */
if (self->client.tsap_ctrl == NULL)
@@ -737,8 +737,8 @@ static void irlan_open_unicast_addr(struct irlan_cb *self)
IRDA_DEBUG(4, "%s()\n", __FUNCTION__ );
- ASSERT(self != NULL, return;);
- ASSERT(self->magic == IRLAN_MAGIC, return;);
+ IRDA_ASSERT(self != NULL, return;);
+ IRDA_ASSERT(self->magic == IRLAN_MAGIC, return;);
skb = dev_alloc_skb(128);
if (!skb)
@@ -775,8 +775,8 @@ void irlan_set_broadcast_filter(struct irlan_cb *self, int status)
IRDA_DEBUG(2, "%s()\n", __FUNCTION__ );
- ASSERT(self != NULL, return;);
- ASSERT(self->magic == IRLAN_MAGIC, return;);
+ IRDA_ASSERT(self != NULL, return;);
+ IRDA_ASSERT(self->magic == IRLAN_MAGIC, return;);
skb = dev_alloc_skb(128);
if (!skb)
@@ -814,8 +814,8 @@ void irlan_set_multicast_filter(struct irlan_cb *self, int status)
IRDA_DEBUG(2, "%s()\n", __FUNCTION__ );
- ASSERT(self != NULL, return;);
- ASSERT(self->magic == IRLAN_MAGIC, return;);
+ IRDA_ASSERT(self != NULL, return;);
+ IRDA_ASSERT(self->magic == IRLAN_MAGIC, return;);
skb = dev_alloc_skb(128);
if (!skb)
@@ -854,8 +854,8 @@ static void irlan_get_unicast_addr(struct irlan_cb *self)
IRDA_DEBUG(2, "%s()\n", __FUNCTION__ );
- ASSERT(self != NULL, return;);
- ASSERT(self->magic == IRLAN_MAGIC, return;);
+ IRDA_ASSERT(self != NULL, return;);
+ IRDA_ASSERT(self->magic == IRLAN_MAGIC, return;);
skb = dev_alloc_skb(128);
if (!skb)
@@ -889,8 +889,8 @@ void irlan_get_media_char(struct irlan_cb *self)
IRDA_DEBUG(4, "%s()\n", __FUNCTION__ );
- ASSERT(self != NULL, return;);
- ASSERT(self->magic == IRLAN_MAGIC, return;);
+ IRDA_ASSERT(self != NULL, return;);
+ IRDA_ASSERT(self->magic == IRLAN_MAGIC, return;);
skb = dev_alloc_skb(64);
if (!skb)
@@ -985,8 +985,8 @@ static int __irlan_insert_param(struct sk_buff *skb, char *param, int type,
value_len = 2;
break;
case IRLAN_ARRAY:
- ASSERT(value_array != NULL, return 0;);
- ASSERT(value_len > 0, return 0;);
+ IRDA_ASSERT(value_array != NULL, return 0;);
+ IRDA_ASSERT(value_len > 0, return 0;);
break;
default:
IRDA_DEBUG(2, "%s(), Unknown parameter type!\n", __FUNCTION__ );
@@ -1029,7 +1029,7 @@ static int __irlan_insert_param(struct sk_buff *skb, char *param, int type,
default:
break;
}
- ASSERT(n == (param_len+value_len+3), return 0;);
+ IRDA_ASSERT(n == (param_len+value_len+3), return 0;);
return param_len+value_len+3;
}
@@ -1142,8 +1142,8 @@ static int irlan_seq_show(struct seq_file *seq, void *v)
else {
struct irlan_cb *self = v;
- ASSERT(self != NULL, return -1;);
- ASSERT(self->magic == IRLAN_MAGIC, return -1;);
+ IRDA_ASSERT(self != NULL, return -1;);
+ IRDA_ASSERT(self->magic == IRLAN_MAGIC, return -1;);
seq_printf(seq,"ifname: %s,\n",
self->dev->name);
diff --git a/net/irda/irlan/irlan_eth.c b/net/irda/irlan/irlan_eth.c
index 04bb8925ac04..071cd2cefd8a 100644
--- a/net/irda/irlan/irlan_eth.c
+++ b/net/irda/irlan/irlan_eth.c
@@ -222,7 +222,13 @@ int irlan_eth_receive(void *instance, void *sap, struct sk_buff *skb)
++self->stats.rx_dropped;
return 0;
}
- ASSERT(skb->len > 1, return 0;);
+ if (skb->len < ETH_HLEN) {
+ IRDA_DEBUG(0, "%s() : IrLAN frame too short (%d)\n",
+ __FUNCTION__, skb->len);
+ ++self->stats.rx_dropped;
+ dev_kfree_skb(skb);
+ return 0;
+ }
/*
* Adopt this frame! Important to set all these fields since they
@@ -261,12 +267,12 @@ void irlan_eth_flow_indication(void *instance, void *sap, LOCAL_FLOW flow)
self = (struct irlan_cb *) instance;
- ASSERT(self != NULL, return;);
- ASSERT(self->magic == IRLAN_MAGIC, return;);
+ IRDA_ASSERT(self != NULL, return;);
+ IRDA_ASSERT(self->magic == IRLAN_MAGIC, return;);
dev = self->dev;
- ASSERT(dev != NULL, return;);
+ IRDA_ASSERT(dev != NULL, return;);
IRDA_DEBUG(0, "%s() : flow %s ; running %d\n", __FUNCTION__,
flow == FLOW_STOP ? "FLOW_STOP" : "FLOW_START",
@@ -340,7 +346,7 @@ static void irlan_eth_set_multicast_list(struct net_device *dev)
if (dev->flags & IFF_PROMISC) {
/* Enable promiscuous mode */
- WARNING("Promiscous mode not implemented by IrLAN!\n");
+ IRDA_WARNING("Promiscous mode not implemented by IrLAN!\n");
}
else if ((dev->flags & IFF_ALLMULTI) || dev->mc_count > HW_MAX_ADDRS) {
/* Disable promiscuous mode, use normal mode. */
diff --git a/net/irda/irlan/irlan_event.c b/net/irda/irlan/irlan_event.c
index daea4d7dc193..2778d8c6aa31 100644
--- a/net/irda/irlan/irlan_event.c
+++ b/net/irda/irlan/irlan_event.c
@@ -42,8 +42,8 @@ void irlan_next_client_state(struct irlan_cb *self, IRLAN_STATE state)
{
IRDA_DEBUG(2, "%s(), %s\n", __FUNCTION__ , irlan_state[state]);
- ASSERT(self != NULL, return;);
- ASSERT(self->magic == IRLAN_MAGIC, return;);
+ IRDA_ASSERT(self != NULL, return;);
+ IRDA_ASSERT(self->magic == IRLAN_MAGIC, return;);
self->client.state = state;
}
@@ -52,8 +52,8 @@ void irlan_next_provider_state(struct irlan_cb *self, IRLAN_STATE state)
{
IRDA_DEBUG(2, "%s(), %s\n", __FUNCTION__ , irlan_state[state]);
- ASSERT(self != NULL, return;);
- ASSERT(self->magic == IRLAN_MAGIC, return;);
+ IRDA_ASSERT(self != NULL, return;);
+ IRDA_ASSERT(self->magic == IRLAN_MAGIC, return;);
self->provider.state = state;
}
diff --git a/net/irda/irlan/irlan_filter.c b/net/irda/irlan/irlan_filter.c
index aa1e13a57099..343c5d4a1a1d 100644
--- a/net/irda/irlan/irlan_filter.c
+++ b/net/irda/irlan/irlan_filter.c
@@ -36,8 +36,8 @@
*/
void irlan_filter_request(struct irlan_cb *self, struct sk_buff *skb)
{
- ASSERT(self != NULL, return;);
- ASSERT(self->magic == IRLAN_MAGIC, return;);
+ IRDA_ASSERT(self != NULL, return;);
+ IRDA_ASSERT(self->magic == IRLAN_MAGIC, return;);
if ((self->provider.filter_type == IRLAN_DIRECTED) &&
(self->provider.filter_operation == DYNAMIC))
@@ -148,8 +148,8 @@ void irlan_check_command_param(struct irlan_cb *self, char *param, char *value)
bytes = value;
- ASSERT(self != NULL, return;);
- ASSERT(self->magic == IRLAN_MAGIC, return;);
+ IRDA_ASSERT(self != NULL, return;);
+ IRDA_ASSERT(self->magic == IRLAN_MAGIC, return;);
IRDA_DEBUG(4, "%s, %s\n", param, value);
diff --git a/net/irda/irlan/irlan_provider.c b/net/irda/irlan/irlan_provider.c
index 406d78a5f659..39c202d1c374 100644
--- a/net/irda/irlan/irlan_provider.c
+++ b/net/irda/irlan/irlan_provider.c
@@ -74,10 +74,10 @@ static int irlan_provider_data_indication(void *instance, void *sap,
self = (struct irlan_cb *) instance;
- ASSERT(self != NULL, return -1;);
- ASSERT(self->magic == IRLAN_MAGIC, return -1;);
+ IRDA_ASSERT(self != NULL, return -1;);
+ IRDA_ASSERT(self->magic == IRLAN_MAGIC, return -1;);
- ASSERT(skb != NULL, return -1;);
+ IRDA_ASSERT(skb != NULL, return -1;);
code = skb->data[0];
switch(code) {
@@ -134,11 +134,11 @@ static void irlan_provider_connect_indication(void *instance, void *sap,
self = (struct irlan_cb *) instance;
tsap = (struct tsap_cb *) sap;
- ASSERT(self != NULL, return;);
- ASSERT(self->magic == IRLAN_MAGIC, return;);
+ IRDA_ASSERT(self != NULL, return;);
+ IRDA_ASSERT(self->magic == IRLAN_MAGIC, return;);
- ASSERT(tsap == self->provider.tsap_ctrl,return;);
- ASSERT(self->provider.state == IRLAN_IDLE, return;);
+ IRDA_ASSERT(tsap == self->provider.tsap_ctrl,return;);
+ IRDA_ASSERT(self->provider.state == IRLAN_IDLE, return;);
daddr = irttp_get_daddr(tsap);
saddr = irttp_get_saddr(tsap);
@@ -168,8 +168,8 @@ static void irlan_provider_connect_indication(void *instance, void *sap,
void irlan_provider_connect_response(struct irlan_cb *self,
struct tsap_cb *tsap)
{
- ASSERT(self != NULL, return;);
- ASSERT(self->magic == IRLAN_MAGIC, return;);
+ IRDA_ASSERT(self != NULL, return;);
+ IRDA_ASSERT(self->magic == IRLAN_MAGIC, return;);
/* Just accept */
irttp_connect_response(tsap, IRLAN_MTU, NULL);
@@ -187,12 +187,12 @@ static void irlan_provider_disconnect_indication(void *instance, void *sap,
self = (struct irlan_cb *) instance;
tsap = (struct tsap_cb *) sap;
- ASSERT(self != NULL, return;);
- ASSERT(self->magic == IRLAN_MAGIC, return;);
- ASSERT(tsap != NULL, return;);
- ASSERT(tsap->magic == TTP_TSAP_MAGIC, return;);
+ IRDA_ASSERT(self != NULL, return;);
+ IRDA_ASSERT(self->magic == IRLAN_MAGIC, return;);
+ IRDA_ASSERT(tsap != NULL, return;);
+ IRDA_ASSERT(tsap->magic == TTP_TSAP_MAGIC, return;);
- ASSERT(tsap == self->provider.tsap_ctrl, return;);
+ IRDA_ASSERT(tsap == self->provider.tsap_ctrl, return;);
irlan_do_provider_event(self, IRLAN_LMP_DISCONNECT, NULL);
}
@@ -234,12 +234,12 @@ int irlan_provider_parse_command(struct irlan_cb *self, int cmd,
char *value;
int ret = RSP_SUCCESS;
- ASSERT(skb != NULL, return -RSP_PROTOCOL_ERROR;);
+ IRDA_ASSERT(skb != NULL, return -RSP_PROTOCOL_ERROR;);
IRDA_DEBUG(4, "%s(), skb->len=%d\n", __FUNCTION__ , (int)skb->len);
- ASSERT(self != NULL, return -RSP_PROTOCOL_ERROR;);
- ASSERT(self->magic == IRLAN_MAGIC, return -RSP_PROTOCOL_ERROR;);
+ IRDA_ASSERT(self != NULL, return -RSP_PROTOCOL_ERROR;);
+ IRDA_ASSERT(self->magic == IRLAN_MAGIC, return -RSP_PROTOCOL_ERROR;);
if (!skb)
return -RSP_PROTOCOL_ERROR;
@@ -293,8 +293,8 @@ void irlan_provider_send_reply(struct irlan_cb *self, int command,
IRDA_DEBUG(4, "%s()\n", __FUNCTION__ );
- ASSERT(self != NULL, return;);
- ASSERT(self->magic == IRLAN_MAGIC, return;);
+ IRDA_ASSERT(self != NULL, return;);
+ IRDA_ASSERT(self->magic == IRLAN_MAGIC, return;);
skb = dev_alloc_skb(128);
if (!skb)
@@ -381,8 +381,8 @@ int irlan_provider_open_ctrl_tsap(struct irlan_cb *self)
IRDA_DEBUG(4, "%s()\n", __FUNCTION__ );
- ASSERT(self != NULL, return -1;);
- ASSERT(self->magic == IRLAN_MAGIC, return -1;);
+ IRDA_ASSERT(self != NULL, return -1;);
+ IRDA_ASSERT(self->magic == IRLAN_MAGIC, return -1;);
/* Check if already open */
if (self->provider.tsap_ctrl)
diff --git a/net/irda/irlan/irlan_provider_event.c b/net/irda/irlan/irlan_provider_event.c
index 691b7c1a570c..5a086f9827ed 100644
--- a/net/irda/irlan/irlan_provider_event.c
+++ b/net/irda/irlan/irlan_provider_event.c
@@ -58,7 +58,7 @@ static int (*state[])(struct irlan_cb *self, IRLAN_EVENT event,
void irlan_do_provider_event(struct irlan_cb *self, IRLAN_EVENT event,
struct sk_buff *skb)
{
- ASSERT(*state[ self->provider.state] != NULL, return;);
+ IRDA_ASSERT(*state[ self->provider.state] != NULL, return;);
(*state[self->provider.state]) (self, event, skb);
}
@@ -74,7 +74,7 @@ static int irlan_provider_state_idle(struct irlan_cb *self, IRLAN_EVENT event,
{
IRDA_DEBUG(4, "%s()\n", __FUNCTION__ );
- ASSERT(self != NULL, return -1;);
+ IRDA_ASSERT(self != NULL, return -1;);
switch(event) {
case IRLAN_CONNECT_INDICATION:
@@ -103,7 +103,7 @@ static int irlan_provider_state_info(struct irlan_cb *self, IRLAN_EVENT event,
IRDA_DEBUG(4, "%s()\n", __FUNCTION__ );
- ASSERT(self != NULL, return -1;);
+ IRDA_ASSERT(self != NULL, return -1;);
switch(event) {
case IRLAN_GET_INFO_CMD:
@@ -168,7 +168,7 @@ static int irlan_provider_state_open(struct irlan_cb *self, IRLAN_EVENT event,
{
IRDA_DEBUG(4, "%s()\n", __FUNCTION__ );
- ASSERT(self != NULL, return -1;);
+ IRDA_ASSERT(self != NULL, return -1;);
switch(event) {
case IRLAN_FILTER_CONFIG_CMD:
@@ -207,8 +207,8 @@ static int irlan_provider_state_data(struct irlan_cb *self, IRLAN_EVENT event,
{
IRDA_DEBUG(4, "%s()\n", __FUNCTION__ );
- ASSERT(self != NULL, return -1;);
- ASSERT(self->magic == IRLAN_MAGIC, return -1;);
+ IRDA_ASSERT(self != NULL, return -1;);
+ IRDA_ASSERT(self->magic == IRLAN_MAGIC, return -1;);
switch(event) {
case IRLAN_FILTER_CONFIG_CMD:
diff --git a/net/irda/irlap.c b/net/irda/irlap.c
index 44fd6aa43171..046ad0750e48 100644
--- a/net/irda/irlap.c
+++ b/net/irda/irlap.c
@@ -80,15 +80,16 @@ int __init irlap_init(void)
{
/* Check if the compiler did its job properly.
* May happen on some ARM configuration, check with Russell King. */
- ASSERT(sizeof(struct xid_frame) == 14, ;);
- ASSERT(sizeof(struct test_frame) == 10, ;);
- ASSERT(sizeof(struct ua_frame) == 10, ;);
- ASSERT(sizeof(struct snrm_frame) == 11, ;);
+ IRDA_ASSERT(sizeof(struct xid_frame) == 14, ;);
+ IRDA_ASSERT(sizeof(struct test_frame) == 10, ;);
+ IRDA_ASSERT(sizeof(struct ua_frame) == 10, ;);
+ IRDA_ASSERT(sizeof(struct snrm_frame) == 11, ;);
/* Allocate master array */
irlap = hashbin_new(HB_LOCK);
if (irlap == NULL) {
- ERROR("%s: can't allocate irlap hashbin!\n", __FUNCTION__);
+ IRDA_ERROR("%s: can't allocate irlap hashbin!\n",
+ __FUNCTION__);
return -ENOMEM;
}
@@ -97,7 +98,7 @@ int __init irlap_init(void)
void __exit irlap_cleanup(void)
{
- ASSERT(irlap != NULL, return;);
+ IRDA_ASSERT(irlap != NULL, return;);
hashbin_delete(irlap, (FREE_FUNC) __irlap_close);
}
@@ -186,8 +187,8 @@ EXPORT_SYMBOL(irlap_open);
*/
static void __irlap_close(struct irlap_cb *self)
{
- ASSERT(self != NULL, return;);
- ASSERT(self->magic == LAP_MAGIC, return;);
+ IRDA_ASSERT(self != NULL, return;);
+ IRDA_ASSERT(self->magic == LAP_MAGIC, return;);
/* Stop timers */
del_timer(&self->slot_timer);
@@ -218,8 +219,8 @@ void irlap_close(struct irlap_cb *self)
IRDA_DEBUG(4, "%s()\n", __FUNCTION__);
- ASSERT(self != NULL, return;);
- ASSERT(self->magic == LAP_MAGIC, return;);
+ IRDA_ASSERT(self != NULL, return;);
+ IRDA_ASSERT(self->magic == LAP_MAGIC, return;);
/* We used to send a LAP_DISC_INDICATION here, but this was
* racy. This has been move within irlmp_unregister_link()
@@ -249,8 +250,8 @@ void irlap_connect_indication(struct irlap_cb *self, struct sk_buff *skb)
{
IRDA_DEBUG(4, "%s()\n", __FUNCTION__);
- ASSERT(self != NULL, return;);
- ASSERT(self->magic == LAP_MAGIC, return;);
+ IRDA_ASSERT(self != NULL, return;);
+ IRDA_ASSERT(self->magic == LAP_MAGIC, return;);
irlap_init_qos_capabilities(self, NULL); /* No user QoS! */
@@ -283,8 +284,8 @@ void irlap_connect_request(struct irlap_cb *self, __u32 daddr,
{
IRDA_DEBUG(3, "%s(), daddr=0x%08x\n", __FUNCTION__, daddr);
- ASSERT(self != NULL, return;);
- ASSERT(self->magic == LAP_MAGIC, return;);
+ IRDA_ASSERT(self != NULL, return;);
+ IRDA_ASSERT(self->magic == LAP_MAGIC, return;);
self->daddr = daddr;
@@ -310,8 +311,8 @@ void irlap_connect_confirm(struct irlap_cb *self, struct sk_buff *skb)
{
IRDA_DEBUG(4, "%s()\n", __FUNCTION__);
- ASSERT(self != NULL, return;);
- ASSERT(self->magic == LAP_MAGIC, return;);
+ IRDA_ASSERT(self != NULL, return;);
+ IRDA_ASSERT(self->magic == LAP_MAGIC, return;);
irlmp_link_connect_confirm(self->notify.instance, &self->qos_tx, skb);
}
@@ -342,13 +343,13 @@ void irlap_data_indication(struct irlap_cb *self, struct sk_buff *skb,
void irlap_data_request(struct irlap_cb *self, struct sk_buff *skb,
int unreliable)
{
- ASSERT(self != NULL, return;);
- ASSERT(self->magic == LAP_MAGIC, return;);
+ IRDA_ASSERT(self != NULL, return;);
+ IRDA_ASSERT(self->magic == LAP_MAGIC, return;);
IRDA_DEBUG(3, "%s()\n", __FUNCTION__);
- ASSERT(skb_headroom(skb) >= (LAP_ADDR_HEADER+LAP_CTRL_HEADER),
- return;);
+ IRDA_ASSERT(skb_headroom(skb) >= (LAP_ADDR_HEADER+LAP_CTRL_HEADER),
+ return;);
skb_push(skb, LAP_ADDR_HEADER+LAP_CTRL_HEADER);
/*
@@ -389,12 +390,12 @@ void irlap_data_request(struct irlap_cb *self, struct sk_buff *skb,
#ifdef CONFIG_IRDA_ULTRA
void irlap_unitdata_request(struct irlap_cb *self, struct sk_buff *skb)
{
- ASSERT(self != NULL, return;);
- ASSERT(self->magic == LAP_MAGIC, return;);
+ IRDA_ASSERT(self != NULL, return;);
+ IRDA_ASSERT(self->magic == LAP_MAGIC, return;);
IRDA_DEBUG(3, "%s()\n", __FUNCTION__);
- ASSERT(skb_headroom(skb) >= (LAP_ADDR_HEADER+LAP_CTRL_HEADER),
+ IRDA_ASSERT(skb_headroom(skb) >= (LAP_ADDR_HEADER+LAP_CTRL_HEADER),
return;);
skb_push(skb, LAP_ADDR_HEADER+LAP_CTRL_HEADER);
@@ -420,9 +421,9 @@ void irlap_unitdata_indication(struct irlap_cb *self, struct sk_buff *skb)
{
IRDA_DEBUG(1, "%s()\n", __FUNCTION__);
- ASSERT(self != NULL, return;);
- ASSERT(self->magic == LAP_MAGIC, return;);
- ASSERT(skb != NULL, return;);
+ IRDA_ASSERT(self != NULL, return;);
+ IRDA_ASSERT(self->magic == LAP_MAGIC, return;);
+ IRDA_ASSERT(skb != NULL, return;);
/* Hide LAP header from IrLMP layer */
skb_pull(skb, LAP_ADDR_HEADER+LAP_CTRL_HEADER);
@@ -440,8 +441,8 @@ void irlap_disconnect_request(struct irlap_cb *self)
{
IRDA_DEBUG(3, "%s()\n", __FUNCTION__);
- ASSERT(self != NULL, return;);
- ASSERT(self->magic == LAP_MAGIC, return;);
+ IRDA_ASSERT(self != NULL, return;);
+ IRDA_ASSERT(self->magic == LAP_MAGIC, return;);
/* Don't disconnect until all data frames are successfully sent */
if (skb_queue_len(&self->txq) > 0) {
@@ -476,8 +477,8 @@ void irlap_disconnect_indication(struct irlap_cb *self, LAP_REASON reason)
{
IRDA_DEBUG(1, "%s(), reason=%s\n", __FUNCTION__, lap_reasons[reason]);
- ASSERT(self != NULL, return;);
- ASSERT(self->magic == LAP_MAGIC, return;);
+ IRDA_ASSERT(self != NULL, return;);
+ IRDA_ASSERT(self->magic == LAP_MAGIC, return;);
/* Flush queues */
irlap_flush_all_queues(self);
@@ -495,7 +496,7 @@ void irlap_disconnect_indication(struct irlap_cb *self, LAP_REASON reason)
reason, NULL);
break;
default:
- ERROR("%s: Unknown reason %d\n", __FUNCTION__, reason);
+ IRDA_ERROR("%s: Unknown reason %d\n", __FUNCTION__, reason);
}
}
@@ -509,15 +510,15 @@ void irlap_discovery_request(struct irlap_cb *self, discovery_t *discovery)
{
struct irlap_info info;
- ASSERT(self != NULL, return;);
- ASSERT(self->magic == LAP_MAGIC, return;);
- ASSERT(discovery != NULL, return;);
+ IRDA_ASSERT(self != NULL, return;);
+ IRDA_ASSERT(self->magic == LAP_MAGIC, return;);
+ IRDA_ASSERT(discovery != NULL, return;);
IRDA_DEBUG(4, "%s(), nslots = %d\n", __FUNCTION__, discovery->nslots);
- ASSERT((discovery->nslots == 1) || (discovery->nslots == 6) ||
- (discovery->nslots == 8) || (discovery->nslots == 16),
- return;);
+ IRDA_ASSERT((discovery->nslots == 1) || (discovery->nslots == 6) ||
+ (discovery->nslots == 8) || (discovery->nslots == 16),
+ return;);
/* Discovery is only possible in NDM mode */
if (self->state != LAP_NDM) {
@@ -544,8 +545,8 @@ void irlap_discovery_request(struct irlap_cb *self, discovery_t *discovery)
self->discovery_log = hashbin_new(HB_NOLOCK);
if (self->discovery_log == NULL) {
- WARNING("%s(), Unable to allocate discovery log!\n",
- __FUNCTION__);
+ IRDA_WARNING("%s(), Unable to allocate discovery log!\n",
+ __FUNCTION__);
return;
}
@@ -569,10 +570,10 @@ void irlap_discovery_request(struct irlap_cb *self, discovery_t *discovery)
*/
void irlap_discovery_confirm(struct irlap_cb *self, hashbin_t *discovery_log)
{
- ASSERT(self != NULL, return;);
- ASSERT(self->magic == LAP_MAGIC, return;);
+ IRDA_ASSERT(self != NULL, return;);
+ IRDA_ASSERT(self->magic == LAP_MAGIC, return;);
- ASSERT(self->notify.instance != NULL, return;);
+ IRDA_ASSERT(self->notify.instance != NULL, return;);
/*
* Check for successful discovery, since we are then allowed to clear
@@ -602,11 +603,11 @@ void irlap_discovery_indication(struct irlap_cb *self, discovery_t *discovery)
{
IRDA_DEBUG(4, "%s()\n", __FUNCTION__);
- ASSERT(self != NULL, return;);
- ASSERT(self->magic == LAP_MAGIC, return;);
- ASSERT(discovery != NULL, return;);
+ IRDA_ASSERT(self != NULL, return;);
+ IRDA_ASSERT(self->magic == LAP_MAGIC, return;);
+ IRDA_ASSERT(discovery != NULL, return;);
- ASSERT(self->notify.instance != NULL, return;);
+ IRDA_ASSERT(self->notify.instance != NULL, return;);
/* A device is very likely to connect immediately after it performs
* a successful discovery. This means that in our case, we are much
@@ -629,10 +630,10 @@ void irlap_status_indication(struct irlap_cb *self, int quality_of_link)
{
switch (quality_of_link) {
case STATUS_NO_ACTIVITY:
- MESSAGE("IrLAP, no activity on link!\n");
+ IRDA_MESSAGE("IrLAP, no activity on link!\n");
break;
case STATUS_NOISY:
- MESSAGE("IrLAP, noisy link!\n");
+ IRDA_MESSAGE("IrLAP, noisy link!\n");
break;
default:
break;
@@ -648,8 +649,8 @@ void irlap_reset_indication(struct irlap_cb *self)
{
IRDA_DEBUG(1, "%s()\n", __FUNCTION__);
- ASSERT(self != NULL, return;);
- ASSERT(self->magic == LAP_MAGIC, return;);
+ IRDA_ASSERT(self != NULL, return;);
+ IRDA_ASSERT(self->magic == LAP_MAGIC, return;);
if (self->state == LAP_RESET_WAIT)
irlap_do_event(self, RESET_REQUEST, NULL, NULL);
@@ -677,7 +678,7 @@ int irlap_generate_rand_time_slot(int S, int s)
static int rand;
int slot;
- ASSERT((S - s) > 0, return 0;);
+ IRDA_ASSERT((S - s) > 0, return 0;);
rand += jiffies;
rand ^= (rand << 12);
@@ -685,7 +686,7 @@ int irlap_generate_rand_time_slot(int S, int s)
slot = s + rand % (S-s);
- ASSERT((slot >= s) || (slot < S), return 0;);
+ IRDA_ASSERT((slot >= s) || (slot < S), return 0;);
return slot;
}
@@ -792,8 +793,8 @@ void irlap_initiate_connection_state(struct irlap_cb *self)
{
IRDA_DEBUG(4, "%s()\n", __FUNCTION__);
- ASSERT(self != NULL, return;);
- ASSERT(self->magic == LAP_MAGIC, return;);
+ IRDA_ASSERT(self != NULL, return;);
+ IRDA_ASSERT(self->magic == LAP_MAGIC, return;);
/* Next to send and next to receive */
self->vs = self->vr = 0;
@@ -848,8 +849,8 @@ void irlap_flush_all_queues(struct irlap_cb *self)
{
struct sk_buff* skb;
- ASSERT(self != NULL, return;);
- ASSERT(self->magic == LAP_MAGIC, return;);
+ IRDA_ASSERT(self != NULL, return;);
+ IRDA_ASSERT(self->magic == LAP_MAGIC, return;);
/* Free transmission queue */
while ((skb = skb_dequeue(&self->txq)) != NULL)
@@ -875,8 +876,8 @@ static void irlap_change_speed(struct irlap_cb *self, __u32 speed, int now)
IRDA_DEBUG(0, "%s(), setting speed to %d\n", __FUNCTION__, speed);
- ASSERT(self != NULL, return;);
- ASSERT(self->magic == LAP_MAGIC, return;);
+ IRDA_ASSERT(self != NULL, return;);
+ IRDA_ASSERT(self->magic == LAP_MAGIC, return;);
self->speed = speed;
@@ -899,9 +900,9 @@ static void irlap_change_speed(struct irlap_cb *self, __u32 speed, int now)
static void irlap_init_qos_capabilities(struct irlap_cb *self,
struct qos_info *qos_user)
{
- ASSERT(self != NULL, return;);
- ASSERT(self->magic == LAP_MAGIC, return;);
- ASSERT(self->netdev != NULL, return;);
+ IRDA_ASSERT(self != NULL, return;);
+ IRDA_ASSERT(self->magic == LAP_MAGIC, return;);
+ IRDA_ASSERT(self->netdev != NULL, return;);
/* Start out with the maximum QoS support possible */
irda_init_max_qos_capabilies(&self->qos_rx);
@@ -947,8 +948,8 @@ void irlap_apply_default_connection_parameters(struct irlap_cb *self)
{
IRDA_DEBUG(4, "%s()\n", __FUNCTION__);
- ASSERT(self != NULL, return;);
- ASSERT(self->magic == LAP_MAGIC, return;);
+ IRDA_ASSERT(self != NULL, return;);
+ IRDA_ASSERT(self->magic == LAP_MAGIC, return;);
/* xbofs : Default value in NDM */
self->next_bofs = 12;
@@ -1010,8 +1011,8 @@ void irlap_apply_connection_parameters(struct irlap_cb *self, int now)
{
IRDA_DEBUG(4, "%s()\n", __FUNCTION__);
- ASSERT(self != NULL, return;);
- ASSERT(self->magic == LAP_MAGIC, return;);
+ IRDA_ASSERT(self != NULL, return;);
+ IRDA_ASSERT(self->magic == LAP_MAGIC, return;);
/* Set the negotiated xbofs value */
self->next_bofs = self->qos_tx.additional_bofs.value;
@@ -1040,8 +1041,8 @@ void irlap_apply_connection_parameters(struct irlap_cb *self, int now)
* Initialize timeout values, some of the rules are listed on
* page 92 in IrLAP.
*/
- ASSERT(self->qos_tx.max_turn_time.value != 0, return;);
- ASSERT(self->qos_rx.max_turn_time.value != 0, return;);
+ IRDA_ASSERT(self->qos_tx.max_turn_time.value != 0, return;);
+ IRDA_ASSERT(self->qos_rx.max_turn_time.value != 0, return;);
/* The poll timeout applies only to the primary station.
* It defines the maximum time the primary stay in XMIT mode
* before timeout and turning the link around (sending a RR).
@@ -1139,7 +1140,7 @@ static int irlap_seq_show(struct seq_file *seq, void *v)
const struct irlap_iter_state *iter = seq->private;
const struct irlap_cb *self = v;
- ASSERT(self->magic == LAP_MAGIC, return -EINVAL;);
+ IRDA_ASSERT(self->magic == LAP_MAGIC, return -EINVAL;);
seq_printf(seq, "irlap%d ", iter->id);
seq_printf(seq, "state: %s\n",
diff --git a/net/irda/irlap_event.c b/net/irda/irlap_event.c
index 570a296c8530..1cd89f5f3b75 100644
--- a/net/irda/irlap_event.c
+++ b/net/irda/irlap_event.c
@@ -169,8 +169,8 @@ static void irlap_poll_timer_expired(void *data)
{
struct irlap_cb *self = (struct irlap_cb *) data;
- ASSERT(self != NULL, return;);
- ASSERT(self->magic == LAP_MAGIC, return;);
+ IRDA_ASSERT(self != NULL, return;);
+ IRDA_ASSERT(self->magic == LAP_MAGIC, return;);
irlap_do_event(self, POLL_TIMER_EXPIRED, NULL, NULL);
}
@@ -183,8 +183,8 @@ static void irlap_poll_timer_expired(void *data)
*/
static void irlap_start_poll_timer(struct irlap_cb *self, int timeout)
{
- ASSERT(self != NULL, return;);
- ASSERT(self->magic == LAP_MAGIC, return;);
+ IRDA_ASSERT(self != NULL, return;);
+ IRDA_ASSERT(self->magic == LAP_MAGIC, return;);
#ifdef CONFIG_IRDA_FAST_RR
/*
@@ -346,12 +346,12 @@ static int irlap_state_ndm(struct irlap_cb *self, IRLAP_EVENT event,
discovery_t *discovery_rsp;
int ret = 0;
- ASSERT(self != NULL, return -1;);
- ASSERT(self->magic == LAP_MAGIC, return -1;);
+ IRDA_ASSERT(self != NULL, return -1;);
+ IRDA_ASSERT(self->magic == LAP_MAGIC, return -1;);
switch (event) {
case CONNECT_REQUEST:
- ASSERT(self->netdev != NULL, return -1;);
+ IRDA_ASSERT(self->netdev != NULL, return -1;);
if (self->media_busy) {
/* Note : this will never happen, because we test
@@ -389,10 +389,11 @@ static int irlap_state_ndm(struct irlap_cb *self, IRLAP_EVENT event,
}
break;
case DISCOVERY_REQUEST:
- ASSERT(info != NULL, return -1;);
+ IRDA_ASSERT(info != NULL, return -1;);
if (self->media_busy) {
- IRDA_DEBUG(0, "%s(), media busy!\n", __FUNCTION__);
+ IRDA_DEBUG(1, "%s(), DISCOVERY_REQUEST: media busy!\n",
+ __FUNCTION__);
/* irlap->log.condition = MEDIA_BUSY; */
/* This will make IrLMP try again */
@@ -414,7 +415,7 @@ static int irlap_state_ndm(struct irlap_cb *self, IRLAP_EVENT event,
irlap_next_state(self, LAP_QUERY);
break;
case RECV_DISCOVERY_XID_CMD:
- ASSERT(info != NULL, return -1;);
+ IRDA_ASSERT(info != NULL, return -1;);
/* Assert that this is not the final slot */
if (info->s <= info->S) {
@@ -576,21 +577,21 @@ static int irlap_state_query(struct irlap_cb *self, IRLAP_EVENT event,
{
int ret = 0;
- ASSERT(self != NULL, return -1;);
- ASSERT(self->magic == LAP_MAGIC, return -1;);
+ IRDA_ASSERT(self != NULL, return -1;);
+ IRDA_ASSERT(self->magic == LAP_MAGIC, return -1;);
switch (event) {
case RECV_DISCOVERY_XID_RSP:
- ASSERT(info != NULL, return -1;);
- ASSERT(info->discovery != NULL, return -1;);
+ IRDA_ASSERT(info != NULL, return -1;);
+ IRDA_ASSERT(info->discovery != NULL, return -1;);
IRDA_DEBUG(4, "%s(), daddr=%08x\n", __FUNCTION__,
info->discovery->data.daddr);
if (!self->discovery_log) {
- WARNING("%s: discovery log is gone! "
- "maybe the discovery timeout has been set to "
- "short?\n", __FUNCTION__);
+ IRDA_WARNING("%s: discovery log is gone! "
+ "maybe the discovery timeout has been set"
+ " to short?\n", __FUNCTION__);
break;
}
hashbin_insert(self->discovery_log,
@@ -613,7 +614,7 @@ static int irlap_state_query(struct irlap_cb *self, IRLAP_EVENT event,
* Jean II
*/
- ASSERT(info != NULL, return -1;);
+ IRDA_ASSERT(info != NULL, return -1;);
IRDA_DEBUG(1, "%s(), Receiving discovery request (s = %d) while performing discovery :-(\n", __FUNCTION__, info->s);
@@ -690,8 +691,8 @@ static int irlap_state_reply(struct irlap_cb *self, IRLAP_EVENT event,
IRDA_DEBUG(4, "%s()\n", __FUNCTION__);
- ASSERT(self != NULL, return -1;);
- ASSERT(self->magic == LAP_MAGIC, return -1;);
+ IRDA_ASSERT(self != NULL, return -1;);
+ IRDA_ASSERT(self->magic == LAP_MAGIC, return -1;);
switch (event) {
case QUERY_TIMER_EXPIRED:
@@ -700,7 +701,7 @@ static int irlap_state_reply(struct irlap_cb *self, IRLAP_EVENT event,
irlap_next_state(self, LAP_NDM);
break;
case RECV_DISCOVERY_XID_CMD:
- ASSERT(info != NULL, return -1;);
+ IRDA_ASSERT(info != NULL, return -1;);
/* Last frame? */
if (info->s == 0xff) {
del_timer(&self->query_timer);
@@ -757,14 +758,14 @@ static int irlap_state_conn(struct irlap_cb *self, IRLAP_EVENT event,
IRDA_DEBUG(4, "%s(), event=%s\n", __FUNCTION__, irlap_event[ event]);
- ASSERT(self != NULL, return -1;);
- ASSERT(self->magic == LAP_MAGIC, return -1;);
+ IRDA_ASSERT(self != NULL, return -1;);
+ IRDA_ASSERT(self->magic == LAP_MAGIC, return -1;);
switch (event) {
case CONNECT_RESPONSE:
skb_pull(skb, sizeof(struct snrm_frame));
- ASSERT(self->netdev != NULL, return -1;);
+ IRDA_ASSERT(self->netdev != NULL, return -1;);
irlap_qos_negotiate(self, skb);
@@ -851,8 +852,8 @@ static int irlap_state_setup(struct irlap_cb *self, IRLAP_EVENT event,
IRDA_DEBUG(4, "%s()\n", __FUNCTION__);
- ASSERT(self != NULL, return -1;);
- ASSERT(self->magic == LAP_MAGIC, return -1;);
+ IRDA_ASSERT(self != NULL, return -1;);
+ IRDA_ASSERT(self->magic == LAP_MAGIC, return -1;);
switch (event) {
case FINAL_TIMER_EXPIRED:
@@ -880,8 +881,8 @@ static int irlap_state_setup(struct irlap_cb *self, IRLAP_EVENT event,
case RECV_SNRM_CMD:
IRDA_DEBUG(4, "%s(), SNRM battle!\n", __FUNCTION__);
- ASSERT(skb != NULL, return 0;);
- ASSERT(info != NULL, return 0;);
+ IRDA_ASSERT(skb != NULL, return 0;);
+ IRDA_ASSERT(info != NULL, return 0;);
/*
* The device with the largest device address wins the battle
@@ -891,7 +892,7 @@ static int irlap_state_setup(struct irlap_cb *self, IRLAP_EVENT event,
del_timer(&self->final_timer);
irlap_initiate_connection_state(self);
- ASSERT(self->netdev != NULL, return -1;);
+ IRDA_ASSERT(self->netdev != NULL, return -1;);
skb_pull(skb, sizeof(struct snrm_frame));
@@ -923,11 +924,11 @@ static int irlap_state_setup(struct irlap_cb *self, IRLAP_EVENT event,
irlap_initiate_connection_state(self);
/* Negotiate connection parameters */
- ASSERT(skb->len > 10, return -1;);
+ IRDA_ASSERT(skb->len > 10, return -1;);
skb_pull(skb, sizeof(struct ua_frame));
- ASSERT(self->netdev != NULL, return -1;);
+ IRDA_ASSERT(self->netdev != NULL, return -1;);
irlap_qos_negotiate(self, skb);
@@ -1158,8 +1159,8 @@ static int irlap_state_pclose(struct irlap_cb *self, IRLAP_EVENT event,
IRDA_DEBUG(1, "%s()\n", __FUNCTION__);
- ASSERT(self != NULL, return -1;);
- ASSERT(self->magic == LAP_MAGIC, return -1;);
+ IRDA_ASSERT(self != NULL, return -1;);
+ IRDA_ASSERT(self->magic == LAP_MAGIC, return -1;);
switch (event) {
case RECV_UA_RSP: /* FALLTHROUGH */
@@ -1226,7 +1227,7 @@ static int irlap_state_nrm_p(struct irlap_cb *self, IRLAP_EVENT event,
*/
self->fast_RR = FALSE;
#endif /* CONFIG_IRDA_FAST_RR */
- ASSERT( info != NULL, return -1;);
+ IRDA_ASSERT( info != NULL, return -1;);
ns_status = irlap_validate_ns_received(self, info->ns);
nr_status = irlap_validate_nr_received(self, info->nr);
@@ -1460,7 +1461,7 @@ static int irlap_state_nrm_p(struct irlap_cb *self, IRLAP_EVENT event,
/* Start poll timer */
irlap_start_poll_timer(self, self->poll_timeout);
} else if (ret == NR_UNEXPECTED) {
- ASSERT(info != NULL, return -1;);
+ IRDA_ASSERT(info != NULL, return -1;);
/*
* Unexpected nr!
*/
@@ -1491,7 +1492,7 @@ static int irlap_state_nrm_p(struct irlap_cb *self, IRLAP_EVENT event,
}
break;
case RECV_RNR_RSP:
- ASSERT(info != NULL, return -1;);
+ IRDA_ASSERT(info != NULL, return -1;);
/* Stop final timer */
del_timer(&self->final_timer);
@@ -1612,8 +1613,8 @@ static int irlap_state_reset_wait(struct irlap_cb *self, IRLAP_EVENT event,
IRDA_DEBUG(3, "%s(), event = %s\n", __FUNCTION__, irlap_event[event]);
- ASSERT(self != NULL, return -1;);
- ASSERT(self->magic == LAP_MAGIC, return -1;);
+ IRDA_ASSERT(self != NULL, return -1;);
+ IRDA_ASSERT(self->magic == LAP_MAGIC, return -1;);
switch (event) {
case RESET_REQUEST:
@@ -1659,8 +1660,8 @@ static int irlap_state_reset(struct irlap_cb *self, IRLAP_EVENT event,
IRDA_DEBUG(3, "%s(), event = %s\n", __FUNCTION__, irlap_event[event]);
- ASSERT(self != NULL, return -1;);
- ASSERT(self->magic == LAP_MAGIC, return -1;);
+ IRDA_ASSERT(self != NULL, return -1;);
+ IRDA_ASSERT(self->magic == LAP_MAGIC, return -1;);
switch (event) {
case RECV_DISC_CMD:
@@ -1693,7 +1694,7 @@ static int irlap_state_reset(struct irlap_cb *self, IRLAP_EVENT event,
if (self->retry_count < 3) {
irlap_wait_min_turn_around(self, &self->qos_tx);
- ASSERT(self->netdev != NULL, return -1;);
+ IRDA_ASSERT(self->netdev != NULL, return -1;);
irlap_send_snrm_frame(self, self->qos_dev);
self->retry_count++; /* Experimental!! */
@@ -1752,8 +1753,8 @@ static int irlap_state_xmit_s(struct irlap_cb *self, IRLAP_EVENT event,
IRDA_DEBUG(4, "%s(), event=%s\n", __FUNCTION__, irlap_event[event]);
- ASSERT(self != NULL, return -ENODEV;);
- ASSERT(self->magic == LAP_MAGIC, return -EBADR;);
+ IRDA_ASSERT(self != NULL, return -ENODEV;);
+ IRDA_ASSERT(self->magic == LAP_MAGIC, return -EBADR;);
switch (event) {
case SEND_I_CMD:
@@ -1874,8 +1875,8 @@ static int irlap_state_nrm_s(struct irlap_cb *self, IRLAP_EVENT event,
IRDA_DEBUG(4, "%s(), event=%s\n", __FUNCTION__, irlap_event[ event]);
- ASSERT(self != NULL, return -1;);
- ASSERT(self->magic == LAP_MAGIC, return -1;);
+ IRDA_ASSERT(self != NULL, return -1;);
+ IRDA_ASSERT(self->magic == LAP_MAGIC, return -1;);
switch (event) {
case RECV_I_CMD: /* Optimize for the common case */
@@ -2231,8 +2232,8 @@ static int irlap_state_sclose(struct irlap_cb *self, IRLAP_EVENT event,
IRDA_DEBUG(1, "%s()\n", __FUNCTION__);
- ASSERT(self != NULL, return -ENODEV;);
- ASSERT(self->magic == LAP_MAGIC, return -EBADR;);
+ IRDA_ASSERT(self != NULL, return -ENODEV;);
+ IRDA_ASSERT(self->magic == LAP_MAGIC, return -EBADR;);
switch (event) {
case RECV_DISC_CMD:
@@ -2304,8 +2305,8 @@ static int irlap_state_reset_check( struct irlap_cb *self, IRLAP_EVENT event,
IRDA_DEBUG(1, "%s(), event=%s\n", __FUNCTION__, irlap_event[event]);
- ASSERT(self != NULL, return -ENODEV;);
- ASSERT(self->magic == LAP_MAGIC, return -EBADR;);
+ IRDA_ASSERT(self != NULL, return -ENODEV;);
+ IRDA_ASSERT(self->magic == LAP_MAGIC, return -EBADR;);
switch (event) {
case RESET_RESPONSE:
diff --git a/net/irda/irlap_frame.c b/net/irda/irlap_frame.c
index 346c95eb46dd..040abe714aa3 100644
--- a/net/irda/irlap_frame.c
+++ b/net/irda/irlap_frame.c
@@ -113,8 +113,8 @@ void irlap_send_snrm_frame(struct irlap_cb *self, struct qos_info *qos)
struct snrm_frame *frame;
int ret;
- ASSERT(self != NULL, return;);
- ASSERT(self->magic == LAP_MAGIC, return;);
+ IRDA_ASSERT(self != NULL, return;);
+ IRDA_ASSERT(self->magic == LAP_MAGIC, return;);
/* Allocate frame */
tx_skb = dev_alloc_skb(64);
@@ -206,8 +206,8 @@ void irlap_send_ua_response_frame(struct irlap_cb *self, struct qos_info *qos)
IRDA_DEBUG(2, "%s() <%ld>\n", __FUNCTION__, jiffies);
- ASSERT(self != NULL, return;);
- ASSERT(self->magic == LAP_MAGIC, return;);
+ IRDA_ASSERT(self != NULL, return;);
+ IRDA_ASSERT(self->magic == LAP_MAGIC, return;);
/* Allocate frame */
tx_skb = dev_alloc_skb(64);
@@ -247,8 +247,8 @@ void irlap_send_dm_frame( struct irlap_cb *self)
struct sk_buff *tx_skb = NULL;
__u8 *frame;
- ASSERT(self != NULL, return;);
- ASSERT(self->magic == LAP_MAGIC, return;);
+ IRDA_ASSERT(self != NULL, return;);
+ IRDA_ASSERT(self->magic == LAP_MAGIC, return;);
tx_skb = dev_alloc_skb(32);
if (!tx_skb)
@@ -279,8 +279,8 @@ void irlap_send_disc_frame(struct irlap_cb *self)
IRDA_DEBUG(3, "%s()\n", __FUNCTION__);
- ASSERT(self != NULL, return;);
- ASSERT(self->magic == LAP_MAGIC, return;);
+ IRDA_ASSERT(self != NULL, return;);
+ IRDA_ASSERT(self->magic == LAP_MAGIC, return;);
tx_skb = dev_alloc_skb(16);
if (!tx_skb)
@@ -311,9 +311,9 @@ void irlap_send_discovery_xid_frame(struct irlap_cb *self, int S, __u8 s,
IRDA_DEBUG(4, "%s(), s=%d, S=%d, command=%d\n", __FUNCTION__,
s, S, command);
- ASSERT(self != NULL, return;);
- ASSERT(self->magic == LAP_MAGIC, return;);
- ASSERT(discovery != NULL, return;);
+ IRDA_ASSERT(self != NULL, return;);
+ IRDA_ASSERT(self->magic == LAP_MAGIC, return;);
+ IRDA_ASSERT(discovery != NULL, return;);
tx_skb = dev_alloc_skb(64);
if (!tx_skb)
@@ -402,11 +402,11 @@ static void irlap_recv_discovery_xid_rsp(struct irlap_cb *self,
IRDA_DEBUG(4, "%s()\n", __FUNCTION__);
- ASSERT(self != NULL, return;);
- ASSERT(self->magic == LAP_MAGIC, return;);
+ IRDA_ASSERT(self != NULL, return;);
+ IRDA_ASSERT(self->magic == LAP_MAGIC, return;);
if (!pskb_may_pull(skb, sizeof(struct xid_frame))) {
- ERROR("%s: frame to short!\n", __FUNCTION__);
+ IRDA_ERROR("%s: frame to short!\n", __FUNCTION__);
return;
}
@@ -423,7 +423,7 @@ static void irlap_recv_discovery_xid_rsp(struct irlap_cb *self,
}
if ((discovery = kmalloc(sizeof(discovery_t), GFP_ATOMIC)) == NULL) {
- WARNING("%s: kmalloc failed!\n", __FUNCTION__);
+ IRDA_WARNING("%s: kmalloc failed!\n", __FUNCTION__);
return;
}
memset(discovery, 0, sizeof(discovery_t));
@@ -478,7 +478,7 @@ static void irlap_recv_discovery_xid_cmd(struct irlap_cb *self,
char *text;
if (!pskb_may_pull(skb, sizeof(struct xid_frame))) {
- ERROR("%s: frame to short!\n", __FUNCTION__);
+ IRDA_ERROR("%s: frame to short!\n", __FUNCTION__);
return;
}
@@ -522,7 +522,8 @@ static void irlap_recv_discovery_xid_cmd(struct irlap_cb *self,
/* Check if things are sane at this point... */
if((discovery_info == NULL) ||
!pskb_may_pull(skb, 3)) {
- ERROR("%s: discovery frame to short!\n", __FUNCTION__);
+ IRDA_ERROR("%s: discovery frame to short!\n",
+ __FUNCTION__);
return;
}
@@ -531,7 +532,7 @@ static void irlap_recv_discovery_xid_cmd(struct irlap_cb *self,
*/
discovery = kmalloc(sizeof(discovery_t), GFP_ATOMIC);
if (!discovery) {
- WARNING("%s: unable to malloc!\n", __FUNCTION__);
+ IRDA_WARNING("%s: unable to malloc!\n", __FUNCTION__);
return;
}
@@ -861,9 +862,9 @@ void irlap_send_data_secondary_final(struct irlap_cb *self,
{
struct sk_buff *tx_skb = NULL;
- ASSERT(self != NULL, return;);
- ASSERT(self->magic == LAP_MAGIC, return;);
- ASSERT(skb != NULL, return;);
+ IRDA_ASSERT(self != NULL, return;);
+ IRDA_ASSERT(self->magic == LAP_MAGIC, return;);
+ IRDA_ASSERT(skb != NULL, return;);
/* Is this reliable or unreliable data? */
if (skb->data[1] == I_FRAME) {
@@ -967,8 +968,8 @@ void irlap_resend_rejected_frames(struct irlap_cb *self, int command)
struct sk_buff *skb;
int count;
- ASSERT(self != NULL, return;);
- ASSERT(self->magic == LAP_MAGIC, return;);
+ IRDA_ASSERT(self != NULL, return;);
+ IRDA_ASSERT(self->magic == LAP_MAGIC, return;);
/* Initialize variables */
count = skb_queue_len(&self->wx_list);
@@ -1023,7 +1024,7 @@ void irlap_resend_rejected_frames(struct irlap_cb *self, int command)
if ((skb_queue_len( &self->txq) > 0) &&
(self->window > 0)) {
skb = skb_dequeue( &self->txq);
- ASSERT(skb != NULL, return;);
+ IRDA_ASSERT(skb != NULL, return;);
/*
* If send window > 1 then send frame with pf
@@ -1047,8 +1048,8 @@ void irlap_resend_rejected_frame(struct irlap_cb *self, int command)
struct sk_buff *tx_skb;
struct sk_buff *skb;
- ASSERT(self != NULL, return;);
- ASSERT(self->magic == LAP_MAGIC, return;);
+ IRDA_ASSERT(self != NULL, return;);
+ IRDA_ASSERT(self->magic == LAP_MAGIC, return;);
/* Resend unacknowledged frame(s) */
skb = skb_peek(&self->wx_list);
@@ -1089,9 +1090,9 @@ void irlap_send_ui_frame(struct irlap_cb *self, struct sk_buff *skb,
{
IRDA_DEBUG(4, "%s()\n", __FUNCTION__);
- ASSERT(self != NULL, return;);
- ASSERT(self->magic == LAP_MAGIC, return;);
- ASSERT(skb != NULL, return;);
+ IRDA_ASSERT(self != NULL, return;);
+ IRDA_ASSERT(self->magic == LAP_MAGIC, return;);
+ IRDA_ASSERT(skb != NULL, return;);
/* Insert connection address */
skb->data[0] = caddr | ((command) ? CMD_FRAME : 0);
@@ -1168,13 +1169,13 @@ static void irlap_recv_frmr_frame(struct irlap_cb *self, struct sk_buff *skb,
IRDA_DEBUG(0, "%s()\n", __FUNCTION__);
- ASSERT(self != NULL, return;);
- ASSERT(self->magic == LAP_MAGIC, return;);
- ASSERT(skb != NULL, return;);
- ASSERT(info != NULL, return;);
+ IRDA_ASSERT(self != NULL, return;);
+ IRDA_ASSERT(self->magic == LAP_MAGIC, return;);
+ IRDA_ASSERT(skb != NULL, return;);
+ IRDA_ASSERT(info != NULL, return;);
if (!pskb_may_pull(skb, 4)) {
- ERROR("%s: frame to short!\n", __FUNCTION__);
+ IRDA_ERROR("%s: frame to short!\n", __FUNCTION__);
return;
}
@@ -1263,7 +1264,7 @@ static void irlap_recv_test_frame(struct irlap_cb *self, struct sk_buff *skb,
IRDA_DEBUG(2, "%s()\n", __FUNCTION__);
if (!pskb_may_pull(skb, sizeof(*frame))) {
- ERROR("%s: frame to short!\n", __FUNCTION__);
+ IRDA_ERROR("%s: frame to short!\n", __FUNCTION__);
return;
}
frame = (struct test_frame *) skb->data;
@@ -1330,14 +1331,14 @@ int irlap_driver_rcv(struct sk_buff *skb, struct net_device *dev,
* share and non linear skbs. This should never happen, so
* we don't need to be clever about it. Jean II */
if ((skb = skb_share_check(skb, GFP_ATOMIC)) == NULL) {
- ERROR("%s: can't clone shared skb!\n", __FUNCTION__);
+ IRDA_ERROR("%s: can't clone shared skb!\n", __FUNCTION__);
dev_kfree_skb(skb);
return -1;
}
/* Check if frame is large enough for parsing */
if (!pskb_may_pull(skb, 2)) {
- ERROR("%s: frame to short!\n", __FUNCTION__);
+ IRDA_ERROR("%s: frame to short!\n", __FUNCTION__);
dev_kfree_skb(skb);
return -1;
}
@@ -1387,7 +1388,7 @@ int irlap_driver_rcv(struct sk_buff *skb, struct net_device *dev,
irlap_recv_srej_frame(self, skb, &info, command);
break;
default:
- WARNING("%s: Unknown S-frame %02x received!\n",
+ IRDA_WARNING("%s: Unknown S-frame %02x received!\n",
__FUNCTION__, info.control);
break;
}
@@ -1425,7 +1426,7 @@ int irlap_driver_rcv(struct sk_buff *skb, struct net_device *dev,
irlap_recv_ui_frame(self, skb, &info);
break;
default:
- WARNING("%s: Unknown frame %02x received!\n",
+ IRDA_WARNING("%s: Unknown frame %02x received!\n",
__FUNCTION__, info.control);
break;
}
diff --git a/net/irda/irlmp.c b/net/irda/irlmp.c
index 26b22f49076b..7a4a4d7fbe66 100644
--- a/net/irda/irlmp.c
+++ b/net/irda/irlmp.c
@@ -121,8 +121,8 @@ int __init irlmp_init(void)
void __exit irlmp_cleanup(void)
{
/* Check for main structure */
- ASSERT(irlmp != NULL, return;);
- ASSERT(irlmp->magic == LMP_MAGIC, return;);
+ IRDA_ASSERT(irlmp != NULL, return;);
+ IRDA_ASSERT(irlmp->magic == LMP_MAGIC, return;);
del_timer(&irlmp->discovery_timer);
@@ -147,10 +147,10 @@ struct lsap_cb *irlmp_open_lsap(__u8 slsap_sel, notify_t *notify, __u8 pid)
{
struct lsap_cb *self;
- ASSERT(notify != NULL, return NULL;);
- ASSERT(irlmp != NULL, return NULL;);
- ASSERT(irlmp->magic == LMP_MAGIC, return NULL;);
- ASSERT(notify->instance != NULL, return NULL;);
+ IRDA_ASSERT(notify != NULL, return NULL;);
+ IRDA_ASSERT(irlmp != NULL, return NULL;);
+ IRDA_ASSERT(irlmp->magic == LMP_MAGIC, return NULL;);
+ IRDA_ASSERT(notify->instance != NULL, return NULL;);
/* Does the client care which Source LSAP selector it gets? */
if (slsap_sel == LSAP_ANY) {
@@ -163,7 +163,7 @@ struct lsap_cb *irlmp_open_lsap(__u8 slsap_sel, notify_t *notify, __u8 pid)
/* Allocate new instance of a LSAP connection */
self = kmalloc(sizeof(struct lsap_cb), GFP_ATOMIC);
if (self == NULL) {
- ERROR("%s: can't allocate memory\n", __FUNCTION__);
+ IRDA_ERROR("%s: can't allocate memory\n", __FUNCTION__);
return NULL;
}
memset(self, 0, sizeof(struct lsap_cb));
@@ -204,8 +204,8 @@ static void __irlmp_close_lsap(struct lsap_cb *self)
{
IRDA_DEBUG(4, "%s()\n", __FUNCTION__);
- ASSERT(self != NULL, return;);
- ASSERT(self->magic == LMP_LSAP_MAGIC, return;);
+ IRDA_ASSERT(self != NULL, return;);
+ IRDA_ASSERT(self->magic == LMP_LSAP_MAGIC, return;);
/*
* Set some of the variables to preset values
@@ -230,8 +230,8 @@ void irlmp_close_lsap(struct lsap_cb *self)
struct lap_cb *lap;
struct lsap_cb *lsap = NULL;
- ASSERT(self != NULL, return;);
- ASSERT(self->magic == LMP_LSAP_MAGIC, return;);
+ IRDA_ASSERT(self != NULL, return;);
+ IRDA_ASSERT(self->magic == LMP_LSAP_MAGIC, return;);
/*
* Find out if we should remove this LSAP from a link or from the
@@ -239,7 +239,7 @@ void irlmp_close_lsap(struct lsap_cb *self)
*/
lap = self->lap;
if (lap) {
- ASSERT(lap->magic == LMP_LAP_MAGIC, return;);
+ IRDA_ASSERT(lap->magic == LMP_LAP_MAGIC, return;);
/* We might close a LSAP before it has completed the
* connection setup. In those case, higher layers won't
* send a proper disconnect request. Harmless, except
@@ -282,16 +282,16 @@ void irlmp_register_link(struct irlap_cb *irlap, __u32 saddr, notify_t *notify)
{
struct lap_cb *lap;
- ASSERT(irlmp != NULL, return;);
- ASSERT(irlmp->magic == LMP_MAGIC, return;);
- ASSERT(notify != NULL, return;);
+ IRDA_ASSERT(irlmp != NULL, return;);
+ IRDA_ASSERT(irlmp->magic == LMP_MAGIC, return;);
+ IRDA_ASSERT(notify != NULL, return;);
/*
* Allocate new instance of a LSAP connection
*/
lap = kmalloc(sizeof(struct lap_cb), GFP_KERNEL);
if (lap == NULL) {
- ERROR("%s: unable to kmalloc\n", __FUNCTION__);
+ IRDA_ERROR("%s: unable to kmalloc\n", __FUNCTION__);
return;
}
memset(lap, 0, sizeof(struct lap_cb));
@@ -305,7 +305,7 @@ void irlmp_register_link(struct irlap_cb *irlap, __u32 saddr, notify_t *notify)
#endif
lap->lsaps = hashbin_new(HB_LOCK);
if (lap->lsaps == NULL) {
- WARNING("%s(), unable to kmalloc lsaps\n", __FUNCTION__);
+ IRDA_WARNING("%s(), unable to kmalloc lsaps\n", __FUNCTION__);
kfree(lap);
return;
}
@@ -344,7 +344,7 @@ void irlmp_unregister_link(__u32 saddr)
* will be triggered anymore. Jean II */
link = hashbin_remove(irlmp->links, saddr, NULL);
if (link) {
- ASSERT(link->magic == LMP_LAP_MAGIC, return;);
+ IRDA_ASSERT(link->magic == LMP_LAP_MAGIC, return;);
/* Kill all the LSAPs on this link. Jean II */
link->reason = LAP_DISC_INDICATION;
@@ -376,8 +376,8 @@ int irlmp_connect_request(struct lsap_cb *self, __u8 dlsap_sel,
struct lsap_cb *lsap;
int ret;
- ASSERT(self != NULL, return -EBADR;);
- ASSERT(self->magic == LMP_LSAP_MAGIC, return -EBADR;);
+ IRDA_ASSERT(self != NULL, return -EBADR;);
+ IRDA_ASSERT(self->magic == LMP_LSAP_MAGIC, return -EBADR;);
IRDA_DEBUG(2,
"%s(), slsap_sel=%02x, dlsap_sel=%02x, saddr=%08x, daddr=%08x\n",
@@ -404,7 +404,7 @@ int irlmp_connect_request(struct lsap_cb *self, __u8 dlsap_sel,
}
/* Make room for MUX control header (3 bytes) */
- ASSERT(skb_headroom(tx_skb) >= LMP_CONTROL_HEADER, return -1;);
+ IRDA_ASSERT(skb_headroom(tx_skb) >= LMP_CONTROL_HEADER, return -1;);
skb_push(tx_skb, LMP_CONTROL_HEADER);
self->dlsap_sel = dlsap_sel;
@@ -473,10 +473,10 @@ int irlmp_connect_request(struct lsap_cb *self, __u8 dlsap_sel,
*/
lsap = hashbin_remove(irlmp->unconnected_lsaps, (long) self, NULL);
- ASSERT(lsap != NULL, return -1;);
- ASSERT(lsap->magic == LMP_LSAP_MAGIC, return -1;);
- ASSERT(lsap->lap != NULL, return -1;);
- ASSERT(lsap->lap->magic == LMP_LAP_MAGIC, return -1;);
+ IRDA_ASSERT(lsap != NULL, return -1;);
+ IRDA_ASSERT(lsap->magic == LMP_LSAP_MAGIC, return -1;);
+ IRDA_ASSERT(lsap->lap != NULL, return -1;);
+ IRDA_ASSERT(lsap->lap->magic == LMP_LAP_MAGIC, return -1;);
hashbin_insert(self->lap->lsaps, (irda_queue_t *) self, (long) self,
NULL);
@@ -516,10 +516,10 @@ void irlmp_connect_indication(struct lsap_cb *self, struct sk_buff *skb)
int lap_header_size;
int max_header_size;
- ASSERT(self != NULL, return;);
- ASSERT(self->magic == LMP_LSAP_MAGIC, return;);
- ASSERT(skb != NULL, return;);
- ASSERT(self->lap != NULL, return;);
+ IRDA_ASSERT(self != NULL, return;);
+ IRDA_ASSERT(self->magic == LMP_LSAP_MAGIC, return;);
+ IRDA_ASSERT(skb != NULL, return;);
+ IRDA_ASSERT(self->lap != NULL, return;);
IRDA_DEBUG(2, "%s(), slsap_sel=%02x, dlsap_sel=%02x\n",
__FUNCTION__, self->slsap_sel, self->dlsap_sel);
@@ -555,9 +555,9 @@ void irlmp_connect_indication(struct lsap_cb *self, struct sk_buff *skb)
*/
int irlmp_connect_response(struct lsap_cb *self, struct sk_buff *userdata)
{
- ASSERT(self != NULL, return -1;);
- ASSERT(self->magic == LMP_LSAP_MAGIC, return -1;);
- ASSERT(userdata != NULL, return -1;);
+ IRDA_ASSERT(self != NULL, return -1;);
+ IRDA_ASSERT(self->magic == LMP_LSAP_MAGIC, return -1;);
+ IRDA_ASSERT(userdata != NULL, return -1;);
/* We set the connected bit and move the lsap to the connected list
* in the state machine itself. Jean II */
@@ -566,7 +566,7 @@ int irlmp_connect_response(struct lsap_cb *self, struct sk_buff *userdata)
__FUNCTION__, self->slsap_sel, self->dlsap_sel);
/* Make room for MUX control header (3 bytes) */
- ASSERT(skb_headroom(userdata) >= LMP_CONTROL_HEADER, return -1;);
+ IRDA_ASSERT(skb_headroom(userdata) >= LMP_CONTROL_HEADER, return -1;);
skb_push(userdata, LMP_CONTROL_HEADER);
irlmp_do_lsap_event(self, LM_CONNECT_RESPONSE, userdata);
@@ -591,10 +591,10 @@ void irlmp_connect_confirm(struct lsap_cb *self, struct sk_buff *skb)
IRDA_DEBUG(3, "%s()\n", __FUNCTION__);
- ASSERT(skb != NULL, return;);
- ASSERT(self != NULL, return;);
- ASSERT(self->magic == LMP_LSAP_MAGIC, return;);
- ASSERT(self->lap != NULL, return;);
+ IRDA_ASSERT(skb != NULL, return;);
+ IRDA_ASSERT(self != NULL, return;);
+ IRDA_ASSERT(self->magic == LMP_LSAP_MAGIC, return;);
+ IRDA_ASSERT(self->lap != NULL, return;);
self->qos = *self->lap->qos;
@@ -687,9 +687,9 @@ int irlmp_disconnect_request(struct lsap_cb *self, struct sk_buff *userdata)
{
struct lsap_cb *lsap;
- ASSERT(self != NULL, return -1;);
- ASSERT(self->magic == LMP_LSAP_MAGIC, return -1;);
- ASSERT(userdata != NULL, return -1;);
+ IRDA_ASSERT(self != NULL, return -1;);
+ IRDA_ASSERT(self->magic == LMP_LSAP_MAGIC, return -1;);
+ IRDA_ASSERT(userdata != NULL, return -1;);
/* Already disconnected ?
* There is a race condition between irlmp_disconnect_indication()
@@ -716,18 +716,18 @@ int irlmp_disconnect_request(struct lsap_cb *self, struct sk_buff *userdata)
* Remove LSAP from list of connected LSAPs for the particular link
* and insert it into the list of unconnected LSAPs
*/
- ASSERT(self->lap != NULL, return -1;);
- ASSERT(self->lap->magic == LMP_LAP_MAGIC, return -1;);
- ASSERT(self->lap->lsaps != NULL, return -1;);
+ IRDA_ASSERT(self->lap != NULL, return -1;);
+ IRDA_ASSERT(self->lap->magic == LMP_LAP_MAGIC, return -1;);
+ IRDA_ASSERT(self->lap->lsaps != NULL, return -1;);
lsap = hashbin_remove(self->lap->lsaps, (long) self, NULL);
#ifdef CONFIG_IRDA_CACHE_LAST_LSAP
self->lap->cache.valid = FALSE;
#endif
- ASSERT(lsap != NULL, return -1;);
- ASSERT(lsap->magic == LMP_LSAP_MAGIC, return -1;);
- ASSERT(lsap == self, return -1;);
+ IRDA_ASSERT(lsap != NULL, return -1;);
+ IRDA_ASSERT(lsap->magic == LMP_LSAP_MAGIC, return -1;);
+ IRDA_ASSERT(lsap == self, return -1;);
hashbin_insert(irlmp->unconnected_lsaps, (irda_queue_t *) self,
(long) self, NULL);
@@ -751,8 +751,8 @@ void irlmp_disconnect_indication(struct lsap_cb *self, LM_REASON reason,
struct lsap_cb *lsap;
IRDA_DEBUG(1, "%s(), reason=%s\n", __FUNCTION__, irlmp_reasons[reason]);
- ASSERT(self != NULL, return;);
- ASSERT(self->magic == LMP_LSAP_MAGIC, return;);
+ IRDA_ASSERT(self != NULL, return;);
+ IRDA_ASSERT(self->magic == LMP_LSAP_MAGIC, return;);
IRDA_DEBUG(3, "%s(), slsap_sel=%02x, dlsap_sel=%02x\n",
__FUNCTION__, self->slsap_sel, self->dlsap_sel);
@@ -769,16 +769,16 @@ void irlmp_disconnect_indication(struct lsap_cb *self, LM_REASON reason,
/*
* Remove association between this LSAP and the link it used
*/
- ASSERT(self->lap != NULL, return;);
- ASSERT(self->lap->lsaps != NULL, return;);
+ IRDA_ASSERT(self->lap != NULL, return;);
+ IRDA_ASSERT(self->lap->lsaps != NULL, return;);
lsap = hashbin_remove(self->lap->lsaps, (long) self, NULL);
#ifdef CONFIG_IRDA_CACHE_LAST_LSAP
self->lap->cache.valid = FALSE;
#endif
- ASSERT(lsap != NULL, return;);
- ASSERT(lsap == self, return;);
+ IRDA_ASSERT(lsap != NULL, return;);
+ IRDA_ASSERT(lsap == self, return;);
hashbin_insert(irlmp->unconnected_lsaps, (irda_queue_t *) lsap,
(long) lsap, NULL);
@@ -822,7 +822,7 @@ void irlmp_do_expiry(void)
*/
lap = (struct lap_cb *) hashbin_get_first(irlmp->links);
while (lap != NULL) {
- ASSERT(lap->magic == LMP_LAP_MAGIC, return;);
+ IRDA_ASSERT(lap->magic == LMP_LAP_MAGIC, return;);
if (lap->lap_state == LAP_STANDBY) {
/* Expire discoveries discovered on this link */
@@ -846,8 +846,8 @@ void irlmp_do_discovery(int nslots)
/* Make sure the value is sane */
if ((nslots != 1) && (nslots != 6) && (nslots != 8) && (nslots != 16)){
- WARNING("%s: invalid value for number of slots!\n",
- __FUNCTION__);
+ IRDA_WARNING("%s: invalid value for number of slots!\n",
+ __FUNCTION__);
nslots = sysctl_discovery_slots = 8;
}
@@ -870,7 +870,7 @@ void irlmp_do_discovery(int nslots)
*/
lap = (struct lap_cb *) hashbin_get_first(irlmp->links);
while (lap != NULL) {
- ASSERT(lap->magic == LMP_LAP_MAGIC, return;);
+ IRDA_ASSERT(lap->magic == LMP_LAP_MAGIC, return;);
if (lap->lap_state == LAP_STANDBY) {
/* Try to discover */
@@ -1017,7 +1017,7 @@ void irlmp_discovery_confirm(hashbin_t *log, DISCOVERY_MODE mode)
IRDA_DEBUG(3, "%s()\n", __FUNCTION__);
- ASSERT(log != NULL, return;);
+ IRDA_ASSERT(log != NULL, return;);
if (!(HASHBIN_GET_SIZE(log)))
return;
@@ -1052,7 +1052,7 @@ void irlmp_discovery_expiry(discinfo_t *expiries, int number)
IRDA_DEBUG(3, "%s()\n", __FUNCTION__);
- ASSERT(expiries != NULL, return;);
+ IRDA_ASSERT(expiries != NULL, return;);
/* For each client - notify callback may touch client list */
client = (irlmp_client_t *) hashbin_get_first(irlmp->clients);
@@ -1085,7 +1085,7 @@ discovery_t *irlmp_get_discovery_response(void)
{
IRDA_DEBUG(4, "%s()\n", __FUNCTION__);
- ASSERT(irlmp != NULL, return NULL;);
+ IRDA_ASSERT(irlmp != NULL, return NULL;);
u16ho(irlmp->discovery_rsp.data.hints) = irlmp->hints.word;
@@ -1120,11 +1120,11 @@ int irlmp_data_request(struct lsap_cb *self, struct sk_buff *userdata)
{
int ret;
- ASSERT(self != NULL, return -1;);
- ASSERT(self->magic == LMP_LSAP_MAGIC, return -1;);
+ IRDA_ASSERT(self != NULL, return -1;);
+ IRDA_ASSERT(self->magic == LMP_LSAP_MAGIC, return -1;);
/* Make room for MUX header */
- ASSERT(skb_headroom(userdata) >= LMP_HEADER, return -1;);
+ IRDA_ASSERT(skb_headroom(userdata) >= LMP_HEADER, return -1;);
skb_push(userdata, LMP_HEADER);
ret = irlmp_do_lsap_event(self, LM_DATA_REQUEST, userdata);
@@ -1163,10 +1163,10 @@ int irlmp_udata_request(struct lsap_cb *self, struct sk_buff *userdata)
IRDA_DEBUG(4, "%s()\n", __FUNCTION__);
- ASSERT(userdata != NULL, return -1;);
+ IRDA_ASSERT(userdata != NULL, return -1;);
/* Make room for MUX header */
- ASSERT(skb_headroom(userdata) >= LMP_HEADER, return -1;);
+ IRDA_ASSERT(skb_headroom(userdata) >= LMP_HEADER, return -1;);
skb_push(userdata, LMP_HEADER);
ret = irlmp_do_lsap_event(self, LM_UDATA_REQUEST, userdata);
@@ -1187,9 +1187,9 @@ void irlmp_udata_indication(struct lsap_cb *self, struct sk_buff *skb)
{
IRDA_DEBUG(4, "%s()\n", __FUNCTION__);
- ASSERT(self != NULL, return;);
- ASSERT(self->magic == LMP_LSAP_MAGIC, return;);
- ASSERT(skb != NULL, return;);
+ IRDA_ASSERT(self != NULL, return;);
+ IRDA_ASSERT(self->magic == LMP_LSAP_MAGIC, return;);
+ IRDA_ASSERT(skb != NULL, return;);
/* Hide LMP header from layer above */
skb_pull(skb, LMP_HEADER);
@@ -1214,11 +1214,11 @@ int irlmp_connless_data_request(struct lsap_cb *self, struct sk_buff *userdata,
IRDA_DEBUG(4, "%s()\n", __FUNCTION__);
- ASSERT(userdata != NULL, return -1;);
+ IRDA_ASSERT(userdata != NULL, return -1;);
/* Make room for MUX and PID header */
- ASSERT(skb_headroom(userdata) >= LMP_HEADER+LMP_PID_HEADER,
- return -1;);
+ IRDA_ASSERT(skb_headroom(userdata) >= LMP_HEADER+LMP_PID_HEADER,
+ return -1;);
/* Insert protocol identifier */
skb_push(userdata, LMP_PID_HEADER);
@@ -1234,7 +1234,7 @@ int irlmp_connless_data_request(struct lsap_cb *self, struct sk_buff *userdata,
/* Try to send Connectionless packets out on all links */
lap = (struct lap_cb *) hashbin_get_first(irlmp->links);
while (lap != NULL) {
- ASSERT(lap->magic == LMP_LAP_MAGIC, return -1;);
+ IRDA_ASSERT(lap->magic == LMP_LAP_MAGIC, return -1;);
clone_skb = skb_clone(userdata, GFP_ATOMIC);
if (!clone_skb) {
@@ -1265,9 +1265,9 @@ void irlmp_connless_data_indication(struct lsap_cb *self, struct sk_buff *skb)
{
IRDA_DEBUG(4, "%s()\n", __FUNCTION__);
- ASSERT(self != NULL, return;);
- ASSERT(self->magic == LMP_LSAP_MAGIC, return;);
- ASSERT(skb != NULL, return;);
+ IRDA_ASSERT(self != NULL, return;);
+ IRDA_ASSERT(self->magic == LMP_LSAP_MAGIC, return;);
+ IRDA_ASSERT(skb != NULL, return;);
/* Hide LMP and PID header from layer above */
skb_pull(skb, LMP_HEADER+LMP_PID_HEADER);
@@ -1298,7 +1298,7 @@ void irlmp_status_indication(struct lap_cb *self,
curr = (struct lsap_cb *) hashbin_get_first( self->lsaps);
while (NULL != hashbin_find_next(self->lsaps, (long) curr, NULL,
(void *) &next) ) {
- ASSERT(curr->magic == LMP_LSAP_MAGIC, return;);
+ IRDA_ASSERT(curr->magic == LMP_LSAP_MAGIC, return;);
/*
* Inform service user if he has requested it
*/
@@ -1328,8 +1328,8 @@ void irlmp_flow_indication(struct lap_cb *self, LOCAL_FLOW flow)
struct lsap_cb *curr;
int lsap_todo;
- ASSERT(self->magic == LMP_LAP_MAGIC, return;);
- ASSERT(flow == FLOW_START, return;);
+ IRDA_ASSERT(self->magic == LMP_LAP_MAGIC, return;);
+ IRDA_ASSERT(flow == FLOW_START, return;);
/* Get the number of lsap. That's the only safe way to know
* that we have looped around... - Jean II */
@@ -1559,7 +1559,7 @@ void *irlmp_register_client(__u16 hint_mask, DISCOVERY_CALLBACK1 disco_clb,
irlmp_client_t *client;
IRDA_DEBUG(1, "%s()\n", __FUNCTION__);
- ASSERT(irlmp != NULL, return NULL;);
+ IRDA_ASSERT(irlmp != NULL, return NULL;);
/* Make a new registration */
client = kmalloc(sizeof(irlmp_client_t), GFP_ATOMIC);
@@ -1660,9 +1660,9 @@ static int irlmp_slsap_inuse(__u8 slsap_sel)
struct lap_cb *lap;
unsigned long flags;
- ASSERT(irlmp != NULL, return TRUE;);
- ASSERT(irlmp->magic == LMP_MAGIC, return TRUE;);
- ASSERT(slsap_sel != LSAP_ANY, return TRUE;);
+ IRDA_ASSERT(irlmp != NULL, return TRUE;);
+ IRDA_ASSERT(irlmp->magic == LMP_MAGIC, return TRUE;);
+ IRDA_ASSERT(slsap_sel != LSAP_ANY, return TRUE;);
IRDA_DEBUG(4, "%s()\n", __FUNCTION__);
@@ -1684,7 +1684,7 @@ static int irlmp_slsap_inuse(__u8 slsap_sel)
spin_lock_irqsave(&irlmp->links->hb_spinlock, flags);
lap = (struct lap_cb *) hashbin_get_first(irlmp->links);
while (lap != NULL) {
- ASSERT(lap->magic == LMP_LAP_MAGIC, goto errlap;);
+ IRDA_ASSERT(lap->magic == LMP_LAP_MAGIC, goto errlap;);
/* Careful for priority inversions here !
* irlmp->links is never taken while another IrDA
@@ -1694,7 +1694,8 @@ static int irlmp_slsap_inuse(__u8 slsap_sel)
/* For this IrLAP, check all the LSAPs */
self = (struct lsap_cb *) hashbin_get_first(lap->lsaps);
while (self != NULL) {
- ASSERT(self->magic == LMP_LSAP_MAGIC, goto errlsap;);
+ IRDA_ASSERT(self->magic == LMP_LSAP_MAGIC,
+ goto errlsap;);
if ((self->slsap_sel == slsap_sel)) {
IRDA_DEBUG(4, "Source LSAP selector=%02x in use\n",
@@ -1720,7 +1721,7 @@ static int irlmp_slsap_inuse(__u8 slsap_sel)
self = (struct lsap_cb *) hashbin_get_first(irlmp->unconnected_lsaps);
while (self != NULL) {
- ASSERT(self->magic == LMP_LSAP_MAGIC, goto erruncon;);
+ IRDA_ASSERT(self->magic == LMP_LSAP_MAGIC, goto erruncon;);
if ((self->slsap_sel == slsap_sel)) {
IRDA_DEBUG(4, "Source LSAP selector=%02x in use (unconnected)\n",
self->slsap_sel);
@@ -1737,7 +1738,7 @@ static int irlmp_slsap_inuse(__u8 slsap_sel)
* Jean II */
errlsap:
spin_unlock(&lap->lsaps->hb_spinlock);
-errlap:
+IRDA_ASSERT_LABEL(errlap:)
spin_unlock_irqrestore(&irlmp->links->hb_spinlock, flags);
return TRUE;
@@ -1759,8 +1760,8 @@ static __u8 irlmp_find_free_slsap(void)
__u8 lsap_sel;
int wrapped = 0;
- ASSERT(irlmp != NULL, return -1;);
- ASSERT(irlmp->magic == LMP_MAGIC, return -1;);
+ IRDA_ASSERT(irlmp != NULL, return -1;);
+ IRDA_ASSERT(irlmp->magic == LMP_MAGIC, return -1;);
/* Most users don't really care which LSAPs they are given,
* and therefore we automatically give them a free LSAP.
@@ -1788,8 +1789,8 @@ static __u8 irlmp_find_free_slsap(void)
/* Make sure we terminate the loop */
if (wrapped++) {
- ERROR("%s: no more free LSAPs !\n",
- __FUNCTION__);
+ IRDA_ERROR("%s: no more free LSAPs !\n",
+ __FUNCTION__);
return 0;
}
}
@@ -1948,7 +1949,7 @@ static int irlmp_seq_show(struct seq_file *seq, void *v)
seq_puts(seq, "\nRegistered Link Layers:\n");
else if (iter->hashbin == irlmp->unconnected_lsaps) {
self = v;
- ASSERT(self->magic == LMP_LSAP_MAGIC, return -EINVAL; );
+ IRDA_ASSERT(self->magic == LMP_LSAP_MAGIC, return -EINVAL; );
seq_printf(seq, "lsap state: %s, ",
irlsap_state[ self->lsap_state]);
seq_printf(seq,
@@ -1977,7 +1978,8 @@ static int irlmp_seq_show(struct seq_file *seq, void *v)
for (self = (struct lsap_cb *) hashbin_get_first(lap->lsaps);
self != NULL;
self = (struct lsap_cb *)hashbin_get_next(lap->lsaps)) {
- ASSERT(self->magic == LMP_LSAP_MAGIC, break;);
+ IRDA_ASSERT(self->magic == LMP_LSAP_MAGIC,
+ goto outloop;);
seq_printf(seq, " lsap state: %s, ",
irlsap_state[ self->lsap_state]);
seq_printf(seq,
@@ -1987,6 +1989,7 @@ static int irlmp_seq_show(struct seq_file *seq, void *v)
seq_putc(seq, '\n');
}
+ IRDA_ASSERT_LABEL(outloop:)
spin_unlock(&lap->lsaps->hb_spinlock);
seq_putc(seq, '\n');
} else
@@ -2008,7 +2011,7 @@ static int irlmp_seq_open(struct inode *inode, struct file *file)
int rc = -ENOMEM;
struct irlmp_iter_state *s;
- ASSERT(irlmp != NULL, return -EINVAL;);
+ IRDA_ASSERT(irlmp != NULL, return -EINVAL;);
s = kmalloc(sizeof(*s), GFP_KERNEL);
if (!s)
diff --git a/net/irda/irlmp_event.c b/net/irda/irlmp_event.c
index d6e551226e5b..26649f6528e6 100644
--- a/net/irda/irlmp_event.c
+++ b/net/irda/irlmp_event.c
@@ -130,7 +130,7 @@ static inline void irlmp_next_lsap_state(struct lsap_cb *self,
LSAP_STATE state)
{
/*
- ASSERT(self != NULL, return;);
+ IRDA_ASSERT(self != NULL, return;);
IRDA_DEBUG(4, "%s(), LMP LSAP = %s\n", __FUNCTION__, irlsap_state[state]);
*/
self->lsap_state = state;
@@ -140,8 +140,8 @@ static inline void irlmp_next_lsap_state(struct lsap_cb *self,
int irlmp_do_lsap_event(struct lsap_cb *self, IRLMP_EVENT event,
struct sk_buff *skb)
{
- ASSERT(self != NULL, return -1;);
- ASSERT(self->magic == LMP_LSAP_MAGIC, return -1;);
+ IRDA_ASSERT(self != NULL, return -1;);
+ IRDA_ASSERT(self->magic == LMP_LSAP_MAGIC, return -1;);
IRDA_DEBUG(4, "%s(), EVENT = %s, STATE = %s\n",
__FUNCTION__, irlmp_event[event], irlsap_state[ self->lsap_state]);
@@ -158,8 +158,8 @@ int irlmp_do_lsap_event(struct lsap_cb *self, IRLMP_EVENT event,
void irlmp_do_lap_event(struct lap_cb *self, IRLMP_EVENT event,
struct sk_buff *skb)
{
- ASSERT(self != NULL, return;);
- ASSERT(self->magic == LMP_LAP_MAGIC, return;);
+ IRDA_ASSERT(self != NULL, return;);
+ IRDA_ASSERT(self->magic == LMP_LAP_MAGIC, return;);
IRDA_DEBUG(4, "%s(), EVENT = %s, STATE = %s\n", __FUNCTION__,
irlmp_event[event],
@@ -189,8 +189,8 @@ void irlmp_watchdog_timer_expired(void *data)
IRDA_DEBUG(2, "%s()\n", __FUNCTION__);
- ASSERT(self != NULL, return;);
- ASSERT(self->magic == LMP_LSAP_MAGIC, return;);
+ IRDA_ASSERT(self != NULL, return;);
+ IRDA_ASSERT(self->magic == LMP_LSAP_MAGIC, return;);
irlmp_do_lsap_event(self, LM_WATCHDOG_TIMEOUT, NULL);
}
@@ -201,8 +201,8 @@ void irlmp_idle_timer_expired(void *data)
IRDA_DEBUG(2, "%s()\n", __FUNCTION__);
- ASSERT(self != NULL, return;);
- ASSERT(self->magic == LMP_LAP_MAGIC, return;);
+ IRDA_ASSERT(self != NULL, return;);
+ IRDA_ASSERT(self->magic == LMP_LAP_MAGIC, return;);
irlmp_do_lap_event(self, LM_LAP_IDLE_TIMEOUT, NULL);
}
@@ -260,7 +260,7 @@ static void irlmp_state_standby(struct lap_cb *self, IRLMP_EVENT event,
struct sk_buff *skb)
{
IRDA_DEBUG(4, "%s()\n", __FUNCTION__);
- ASSERT(self->irlap != NULL, return;);
+ IRDA_ASSERT(self->irlap != NULL, return;);
switch (event) {
case LM_LAP_DISCOVERY_REQUEST:
@@ -495,8 +495,8 @@ static int irlmp_state_disconnected(struct lsap_cb *self, IRLMP_EVENT event,
IRDA_DEBUG(4, "%s()\n", __FUNCTION__);
- ASSERT(self != NULL, return -1;);
- ASSERT(self->magic == LMP_LSAP_MAGIC, return -1;);
+ IRDA_ASSERT(self != NULL, return -1;);
+ IRDA_ASSERT(self->magic == LMP_LSAP_MAGIC, return -1;);
switch (event) {
#ifdef CONFIG_IRDA_ULTRA
@@ -511,8 +511,8 @@ static int irlmp_state_disconnected(struct lsap_cb *self, IRLMP_EVENT event,
IRDA_DEBUG(4, "%s(), LM_CONNECT_REQUEST\n", __FUNCTION__);
if (self->conn_skb) {
- WARNING("%s: busy with another request!\n",
- __FUNCTION__);
+ IRDA_WARNING("%s: busy with another request!\n",
+ __FUNCTION__);
return -EBUSY;
}
/* Don't forget to refcount it (see irlmp_connect_request()) */
@@ -528,8 +528,8 @@ static int irlmp_state_disconnected(struct lsap_cb *self, IRLMP_EVENT event,
break;
case LM_CONNECT_INDICATION:
if (self->conn_skb) {
- WARNING("%s: busy with another request!\n",
- __FUNCTION__);
+ IRDA_WARNING("%s: busy with another request!\n",
+ __FUNCTION__);
return -EBUSY;
}
/* Don't forget to refcount it (see irlap_driver_rcv()) */
@@ -575,8 +575,8 @@ static int irlmp_state_connect(struct lsap_cb *self, IRLMP_EVENT event,
IRDA_DEBUG(4, "%s()\n", __FUNCTION__);
- ASSERT(self != NULL, return -1;);
- ASSERT(self->magic == LMP_LSAP_MAGIC, return -1;);
+ IRDA_ASSERT(self != NULL, return -1;);
+ IRDA_ASSERT(self->magic == LMP_LSAP_MAGIC, return -1;);
switch (event) {
case LM_CONNECT_RESPONSE:
@@ -587,9 +587,9 @@ static int irlmp_state_connect(struct lsap_cb *self, IRLMP_EVENT event,
lsap = hashbin_remove(irlmp->unconnected_lsaps, (long) self,
NULL);
- ASSERT(lsap == self, return -1;);
- ASSERT(self->lap != NULL, return -1;);
- ASSERT(self->lap->lsaps != NULL, return -1;);
+ IRDA_ASSERT(lsap == self, return -1;);
+ IRDA_ASSERT(self->lap != NULL, return -1;);
+ IRDA_ASSERT(self->lap->lsaps != NULL, return -1;);
hashbin_insert(self->lap->lsaps, (irda_queue_t *) self,
(long) self, NULL);
@@ -637,8 +637,8 @@ static int irlmp_state_connect_pend(struct lsap_cb *self, IRLMP_EVENT event,
IRDA_DEBUG(4, "%s()\n", __FUNCTION__);
- ASSERT(self != NULL, return -1;);
- ASSERT(self->magic == LMP_LSAP_MAGIC, return -1;);
+ IRDA_ASSERT(self != NULL, return -1;);
+ IRDA_ASSERT(self->magic == LMP_LSAP_MAGIC, return -1;);
switch (event) {
case LM_CONNECT_REQUEST:
@@ -703,9 +703,9 @@ static int irlmp_state_dtr(struct lsap_cb *self, IRLMP_EVENT event,
IRDA_DEBUG(4, "%s()\n", __FUNCTION__);
- ASSERT(self != NULL, return -1;);
- ASSERT(self->magic == LMP_LSAP_MAGIC, return -1;);
- ASSERT(self->lap != NULL, return -1;);
+ IRDA_ASSERT(self != NULL, return -1;);
+ IRDA_ASSERT(self->magic == LMP_LSAP_MAGIC, return -1;);
+ IRDA_ASSERT(self->lap != NULL, return -1;);
switch (event) {
case LM_DATA_REQUEST: /* Optimize for the common case */
@@ -716,7 +716,7 @@ static int irlmp_state_dtr(struct lsap_cb *self, IRLMP_EVENT event,
irlmp_data_indication(self, skb);
break;
case LM_UDATA_REQUEST:
- ASSERT(skb != NULL, return -1;);
+ IRDA_ASSERT(skb != NULL, return -1;);
irlmp_send_data_pdu(self->lap, self->dlsap_sel,
self->slsap_sel, TRUE, skb);
break;
@@ -759,11 +759,11 @@ static int irlmp_state_dtr(struct lsap_cb *self, IRLMP_EVENT event,
case LM_DISCONNECT_INDICATION:
irlmp_next_lsap_state(self, LSAP_DISCONNECTED);
- ASSERT(self->lap != NULL, return -1;);
- ASSERT(self->lap->magic == LMP_LAP_MAGIC, return -1;);
+ IRDA_ASSERT(self->lap != NULL, return -1;);
+ IRDA_ASSERT(self->lap->magic == LMP_LAP_MAGIC, return -1;);
- ASSERT(skb != NULL, return -1;);
- ASSERT(skb->len > 3, return -1;);
+ IRDA_ASSERT(skb != NULL, return -1;);
+ IRDA_ASSERT(skb->len > 3, return -1;);
reason = skb->data[3];
/* Try to close the LAP connection */
@@ -793,8 +793,8 @@ static int irlmp_state_setup(struct lsap_cb *self, IRLMP_EVENT event,
LM_REASON reason;
int ret = 0;
- ASSERT(self != NULL, return -1;);
- ASSERT(self->magic == LMP_LSAP_MAGIC, return -1;);
+ IRDA_ASSERT(self != NULL, return -1;);
+ IRDA_ASSERT(self->magic == LMP_LSAP_MAGIC, return -1;);
IRDA_DEBUG(4, "%s()\n", __FUNCTION__);
@@ -809,11 +809,11 @@ static int irlmp_state_setup(struct lsap_cb *self, IRLMP_EVENT event,
case LM_DISCONNECT_INDICATION:
irlmp_next_lsap_state(self, LSAP_DISCONNECTED);
- ASSERT(self->lap != NULL, return -1;);
- ASSERT(self->lap->magic == LMP_LAP_MAGIC, return -1;);
+ IRDA_ASSERT(self->lap != NULL, return -1;);
+ IRDA_ASSERT(self->lap->magic == LMP_LAP_MAGIC, return -1;);
- ASSERT(skb != NULL, return -1;);
- ASSERT(skb->len > 3, return -1;);
+ IRDA_ASSERT(skb != NULL, return -1;);
+ IRDA_ASSERT(skb->len > 3, return -1;);
reason = skb->data[3];
/* Try to close the LAP connection */
@@ -827,8 +827,8 @@ static int irlmp_state_setup(struct lsap_cb *self, IRLMP_EVENT event,
del_timer(&self->watchdog_timer);
- ASSERT(self->lap != NULL, return -1;);
- ASSERT(self->lap->magic == LMP_LAP_MAGIC, return -1;);
+ IRDA_ASSERT(self->lap != NULL, return -1;);
+ IRDA_ASSERT(self->lap->magic == LMP_LAP_MAGIC, return -1;);
reason = irlmp_convert_lap_reason(self->lap->reason);
@@ -837,7 +837,7 @@ static int irlmp_state_setup(struct lsap_cb *self, IRLMP_EVENT event,
case LM_WATCHDOG_TIMEOUT:
IRDA_DEBUG(0, "%s() WATCHDOG_TIMEOUT!\n", __FUNCTION__);
- ASSERT(self->lap != NULL, return -1;);
+ IRDA_ASSERT(self->lap != NULL, return -1;);
irlmp_do_lap_event(self->lap, LM_LAP_DISCONNECT_REQUEST, NULL);
irlmp_next_lsap_state(self, LSAP_DISCONNECTED);
@@ -868,12 +868,12 @@ static int irlmp_state_setup_pend(struct lsap_cb *self, IRLMP_EVENT event,
IRDA_DEBUG(4, "%s()\n", __FUNCTION__);
- ASSERT(self != NULL, return -1;);
- ASSERT(irlmp != NULL, return -1;);
+ IRDA_ASSERT(self != NULL, return -1;);
+ IRDA_ASSERT(irlmp != NULL, return -1;);
switch (event) {
case LM_LAP_CONNECT_CONFIRM:
- ASSERT(self->conn_skb != NULL, return -1;);
+ IRDA_ASSERT(self->conn_skb != NULL, return -1;);
tx_skb = self->conn_skb;
self->conn_skb = NULL;
@@ -888,7 +888,7 @@ static int irlmp_state_setup_pend(struct lsap_cb *self, IRLMP_EVENT event,
case LM_WATCHDOG_TIMEOUT:
IRDA_DEBUG(0, "%s() : WATCHDOG_TIMEOUT !\n", __FUNCTION__);
- ASSERT(self->lap != NULL, return -1;);
+ IRDA_ASSERT(self->lap != NULL, return -1;);
irlmp_do_lap_event(self->lap, LM_LAP_DISCONNECT_REQUEST, NULL);
irlmp_next_lsap_state(self, LSAP_DISCONNECTED);
diff --git a/net/irda/irlmp_frame.c b/net/irda/irlmp_frame.c
index c00ccfd31022..91cd268172fa 100644
--- a/net/irda/irlmp_frame.c
+++ b/net/irda/irlmp_frame.c
@@ -63,9 +63,9 @@ void irlmp_send_lcf_pdu(struct lap_cb *self, __u8 dlsap, __u8 slsap,
IRDA_DEBUG(2, "%s()\n", __FUNCTION__);
- ASSERT(self != NULL, return;);
- ASSERT(self->magic == LMP_LAP_MAGIC, return;);
- ASSERT(skb != NULL, return;);
+ IRDA_ASSERT(self != NULL, return;);
+ IRDA_ASSERT(self->magic == LMP_LAP_MAGIC, return;);
+ IRDA_ASSERT(skb != NULL, return;);
frame = skb->data;
@@ -98,9 +98,9 @@ void irlmp_link_data_indication(struct lap_cb *self, struct sk_buff *skb,
IRDA_DEBUG(4, "%s()\n", __FUNCTION__);
- ASSERT(self != NULL, return;);
- ASSERT(self->magic == LMP_LAP_MAGIC, return;);
- ASSERT(skb->len > 2, return;);
+ IRDA_ASSERT(self != NULL, return;);
+ IRDA_ASSERT(self->magic == LMP_LAP_MAGIC, return;);
+ IRDA_ASSERT(skb->len > 2, return;);
fp = skb->data;
@@ -209,9 +209,9 @@ void irlmp_link_unitdata_indication(struct lap_cb *self, struct sk_buff *skb)
IRDA_DEBUG(4, "%s()\n", __FUNCTION__);
- ASSERT(self != NULL, return;);
- ASSERT(self->magic == LMP_LAP_MAGIC, return;);
- ASSERT(skb->len > 2, return;);
+ IRDA_ASSERT(self != NULL, return;);
+ IRDA_ASSERT(self->magic == LMP_LAP_MAGIC, return;);
+ IRDA_ASSERT(skb->len > 2, return;);
fp = skb->data;
@@ -273,8 +273,8 @@ void irlmp_link_disconnect_indication(struct lap_cb *lap,
{
IRDA_DEBUG(2, "%s()\n", __FUNCTION__);
- ASSERT(lap != NULL, return;);
- ASSERT(lap->magic == LMP_LAP_MAGIC, return;);
+ IRDA_ASSERT(lap != NULL, return;);
+ IRDA_ASSERT(lap->magic == LMP_LAP_MAGIC, return;);
lap->reason = reason;
lap->daddr = DEV_ADDR_ANY;
@@ -304,7 +304,7 @@ void irlmp_link_connect_indication(struct lap_cb *self, __u32 saddr,
/* Update destination device address */
self->daddr = daddr;
- ASSERT(self->saddr == saddr, return;);
+ IRDA_ASSERT(self->saddr == saddr, return;);
irlmp_do_lap_event(self, LM_LAP_CONNECT_INDICATION, skb);
}
@@ -320,9 +320,9 @@ void irlmp_link_connect_confirm(struct lap_cb *self, struct qos_info *qos,
{
IRDA_DEBUG(4, "%s()\n", __FUNCTION__);
- ASSERT(self != NULL, return;);
- ASSERT(self->magic == LMP_LAP_MAGIC, return;);
- ASSERT(qos != NULL, return;);
+ IRDA_ASSERT(self != NULL, return;);
+ IRDA_ASSERT(self->magic == LMP_LAP_MAGIC, return;);
+ IRDA_ASSERT(qos != NULL, return;);
/* Don't need use the skb for now */
@@ -363,8 +363,8 @@ void irlmp_link_connect_confirm(struct lap_cb *self, struct qos_info *qos,
void irlmp_link_discovery_indication(struct lap_cb *self,
discovery_t *discovery)
{
- ASSERT(self != NULL, return;);
- ASSERT(self->magic == LMP_LAP_MAGIC, return;);
+ IRDA_ASSERT(self != NULL, return;);
+ IRDA_ASSERT(self->magic == LMP_LAP_MAGIC, return;);
/* Add to main log, cleanup */
irlmp_add_discovery(irlmp->cachelog, discovery);
@@ -386,8 +386,8 @@ void irlmp_link_discovery_confirm(struct lap_cb *self, hashbin_t *log)
{
IRDA_DEBUG(4, "%s()\n", __FUNCTION__);
- ASSERT(self != NULL, return;);
- ASSERT(self->magic == LMP_LAP_MAGIC, return;);
+ IRDA_ASSERT(self != NULL, return;);
+ IRDA_ASSERT(self->magic == LMP_LAP_MAGIC, return;);
/* Add to main log, cleanup */
irlmp_add_discovery_log(irlmp->cachelog, log);
diff --git a/net/irda/irqueue.c b/net/irda/irqueue.c
index ca948a000ad2..b0dd3ea35999 100644
--- a/net/irda/irqueue.c
+++ b/net/irda/irqueue.c
@@ -391,8 +391,8 @@ int hashbin_delete( hashbin_t* hashbin, FREE_FUNC free_func)
unsigned long flags = 0;
int i;
- ASSERT(hashbin != NULL, return -1;);
- ASSERT(hashbin->magic == HB_MAGIC, return -1;);
+ IRDA_ASSERT(hashbin != NULL, return -1;);
+ IRDA_ASSERT(hashbin->magic == HB_MAGIC, return -1;);
/* Synchronize */
if ( hashbin->hb_type & HB_LOCK ) {
@@ -447,8 +447,8 @@ void hashbin_insert(hashbin_t* hashbin, irda_queue_t* entry, long hashv,
IRDA_DEBUG( 4, "%s()\n", __FUNCTION__);
- ASSERT( hashbin != NULL, return;);
- ASSERT( hashbin->magic == HB_MAGIC, return;);
+ IRDA_ASSERT( hashbin != NULL, return;);
+ IRDA_ASSERT( hashbin->magic == HB_MAGIC, return;);
/*
* Locate hashbin
@@ -560,8 +560,8 @@ void* hashbin_remove( hashbin_t* hashbin, long hashv, const char* name)
IRDA_DEBUG( 4, "%s()\n", __FUNCTION__);
- ASSERT( hashbin != NULL, return NULL;);
- ASSERT( hashbin->magic == HB_MAGIC, return NULL;);
+ IRDA_ASSERT( hashbin != NULL, return NULL;);
+ IRDA_ASSERT( hashbin->magic == HB_MAGIC, return NULL;);
/*
* Locate hashbin
@@ -653,9 +653,9 @@ void* hashbin_remove_this( hashbin_t* hashbin, irda_queue_t* entry)
IRDA_DEBUG( 4, "%s()\n", __FUNCTION__);
- ASSERT( hashbin != NULL, return NULL;);
- ASSERT( hashbin->magic == HB_MAGIC, return NULL;);
- ASSERT( entry != NULL, return NULL;);
+ IRDA_ASSERT( hashbin != NULL, return NULL;);
+ IRDA_ASSERT( hashbin->magic == HB_MAGIC, return NULL;);
+ IRDA_ASSERT( entry != NULL, return NULL;);
/* Synchronize */
if ( hashbin->hb_type & HB_LOCK ) {
@@ -714,8 +714,8 @@ void* hashbin_find( hashbin_t* hashbin, long hashv, const char* name )
IRDA_DEBUG( 4, "hashbin_find()\n");
- ASSERT( hashbin != NULL, return NULL;);
- ASSERT( hashbin->magic == HB_MAGIC, return NULL;);
+ IRDA_ASSERT( hashbin != NULL, return NULL;);
+ IRDA_ASSERT( hashbin->magic == HB_MAGIC, return NULL;);
/*
* Locate hashbin
@@ -836,8 +836,8 @@ irda_queue_t *hashbin_get_first( hashbin_t* hashbin)
irda_queue_t *entry;
int i;
- ASSERT( hashbin != NULL, return NULL;);
- ASSERT( hashbin->magic == HB_MAGIC, return NULL;);
+ IRDA_ASSERT( hashbin != NULL, return NULL;);
+ IRDA_ASSERT( hashbin->magic == HB_MAGIC, return NULL;);
if ( hashbin == NULL)
return NULL;
@@ -872,11 +872,11 @@ irda_queue_t *hashbin_get_next( hashbin_t *hashbin)
int bin;
int i;
- ASSERT( hashbin != NULL, return NULL;);
- ASSERT( hashbin->magic == HB_MAGIC, return NULL;);
+ IRDA_ASSERT( hashbin != NULL, return NULL;);
+ IRDA_ASSERT( hashbin->magic == HB_MAGIC, return NULL;);
if ( hashbin->hb_current == NULL) {
- ASSERT( hashbin->hb_current != NULL, return NULL;);
+ IRDA_ASSERT( hashbin->hb_current != NULL, return NULL;);
return NULL;
}
entry = hashbin->hb_current->q_next;
diff --git a/net/irda/irttp.c b/net/irda/irttp.c
index 1a8d3b17aee2..d091ccf773b3 100644
--- a/net/irda/irttp.c
+++ b/net/irda/irttp.c
@@ -98,7 +98,8 @@ int __init irttp_init(void)
irttp->tsaps = hashbin_new(HB_LOCK);
if (!irttp->tsaps) {
- ERROR("%s: can't allocate IrTTP hashbin!\n", __FUNCTION__);
+ IRDA_ERROR("%s: can't allocate IrTTP hashbin!\n",
+ __FUNCTION__);
return -ENOMEM;
}
@@ -114,8 +115,8 @@ int __init irttp_init(void)
void __exit irttp_cleanup(void)
{
/* Check for main structure */
- ASSERT(irttp != NULL, return;);
- ASSERT(irttp->magic == TTP_MAGIC, return;);
+ IRDA_ASSERT(irttp != NULL, return;);
+ IRDA_ASSERT(irttp->magic == TTP_MAGIC, return;);
/*
* Delete hashbin and close all TSAP instances in it
@@ -210,8 +211,8 @@ void irttp_flush_queues(struct tsap_cb *self)
IRDA_DEBUG(4, "%s()\n", __FUNCTION__);
- ASSERT(self != NULL, return;);
- ASSERT(self->magic == TTP_TSAP_MAGIC, return;);
+ IRDA_ASSERT(self != NULL, return;);
+ IRDA_ASSERT(self->magic == TTP_TSAP_MAGIC, return;);
/* Deallocate frames waiting to be sent */
while ((skb = skb_dequeue(&self->tx_queue)) != NULL)
@@ -238,8 +239,8 @@ static struct sk_buff *irttp_reassemble_skb(struct tsap_cb *self)
struct sk_buff *skb, *frag;
int n = 0; /* Fragment index */
- ASSERT(self != NULL, return NULL;);
- ASSERT(self->magic == TTP_TSAP_MAGIC, return NULL;);
+ IRDA_ASSERT(self != NULL, return NULL;);
+ IRDA_ASSERT(self->magic == TTP_TSAP_MAGIC, return NULL;);
IRDA_DEBUG(2, "%s(), self->rx_sdu_size=%d\n", __FUNCTION__,
self->rx_sdu_size);
@@ -274,7 +275,7 @@ static struct sk_buff *irttp_reassemble_skb(struct tsap_cb *self)
* droped the last fragment (when self->rx_sdu_size exceed
* self->rx_max_sdu_size), where n < self->rx_sdu_size.
* Jean II */
- ASSERT(n <= self->rx_sdu_size, n = self->rx_sdu_size;);
+ IRDA_ASSERT(n <= self->rx_sdu_size, n = self->rx_sdu_size;);
/* Set the new length */
skb_trim(skb, n);
@@ -298,9 +299,9 @@ static inline void irttp_fragment_skb(struct tsap_cb *self,
IRDA_DEBUG(2, "%s()\n", __FUNCTION__);
- ASSERT(self != NULL, return;);
- ASSERT(self->magic == TTP_TSAP_MAGIC, return;);
- ASSERT(skb != NULL, return;);
+ IRDA_ASSERT(self != NULL, return;);
+ IRDA_ASSERT(self->magic == TTP_TSAP_MAGIC, return;);
+ IRDA_ASSERT(skb != NULL, return;);
/*
* Split frame into a number of segments
@@ -353,8 +354,8 @@ static int irttp_param_max_sdu_size(void *instance, irda_param_t *param,
self = (struct tsap_cb *) instance;
- ASSERT(self != NULL, return -1;);
- ASSERT(self->magic == TTP_TSAP_MAGIC, return -1;);
+ IRDA_ASSERT(self != NULL, return -1;);
+ IRDA_ASSERT(self->magic == TTP_TSAP_MAGIC, return -1;);
if (get)
param->pv.i = self->tx_max_sdu_size;
@@ -381,8 +382,8 @@ struct tsap_cb *irttp_open_tsap(__u8 stsap_sel, int credit, notify_t *notify)
struct lsap_cb *lsap;
notify_t ttp_notify;
- ASSERT(irttp != NULL, return NULL;);
- ASSERT(irttp->magic == TTP_MAGIC, return NULL;);
+ IRDA_ASSERT(irttp != NULL, return NULL;);
+ IRDA_ASSERT(irttp->magic == TTP_MAGIC, return NULL;);
/* The IrLMP spec (IrLMP 1.1 p10) says that we have the right to
* use only 0x01-0x6F. Of course, we can use LSAP_ANY as well.
@@ -430,7 +431,7 @@ struct tsap_cb *irttp_open_tsap(__u8 stsap_sel, int credit, notify_t *notify)
*/
lsap = irlmp_open_lsap(stsap_sel, &ttp_notify, 0);
if (lsap == NULL) {
- WARNING("%s: unable to allocate LSAP!!\n", __FUNCTION__);
+ IRDA_WARNING("%s: unable to allocate LSAP!!\n", __FUNCTION__);
return NULL;
}
@@ -466,8 +467,8 @@ EXPORT_SYMBOL(irttp_open_tsap);
static void __irttp_close_tsap(struct tsap_cb *self)
{
/* First make sure we're connected. */
- ASSERT(self != NULL, return;);
- ASSERT(self->magic == TTP_TSAP_MAGIC, return;);
+ IRDA_ASSERT(self != NULL, return;);
+ IRDA_ASSERT(self->magic == TTP_TSAP_MAGIC, return;);
irttp_flush_queues(self);
@@ -500,14 +501,15 @@ int irttp_close_tsap(struct tsap_cb *self)
IRDA_DEBUG(4, "%s()\n", __FUNCTION__);
- ASSERT(self != NULL, return -1;);
- ASSERT(self->magic == TTP_TSAP_MAGIC, return -1;);
+ IRDA_ASSERT(self != NULL, return -1;);
+ IRDA_ASSERT(self->magic == TTP_TSAP_MAGIC, return -1;);
/* Make sure tsap has been disconnected */
if (self->connected) {
/* Check if disconnect is not pending */
if (!test_bit(0, &self->disconnect_pend)) {
- WARNING("%s: TSAP still connected!\n", __FUNCTION__);
+ IRDA_WARNING("%s: TSAP still connected!\n",
+ __FUNCTION__);
irttp_disconnect_request(self, NULL, P_NORMAL);
}
self->close_pend = TRUE;
@@ -518,7 +520,7 @@ int irttp_close_tsap(struct tsap_cb *self)
tsap = hashbin_remove(irttp->tsaps, (long) self, NULL);
- ASSERT(tsap == self, return -1;);
+ IRDA_ASSERT(tsap == self, return -1;);
/* Close corresponding LSAP */
if (self->lsap) {
@@ -540,9 +542,9 @@ EXPORT_SYMBOL(irttp_close_tsap);
*/
int irttp_udata_request(struct tsap_cb *self, struct sk_buff *skb)
{
- ASSERT(self != NULL, return -1;);
- ASSERT(self->magic == TTP_TSAP_MAGIC, return -1;);
- ASSERT(skb != NULL, return -1;);
+ IRDA_ASSERT(self != NULL, return -1;);
+ IRDA_ASSERT(self->magic == TTP_TSAP_MAGIC, return -1;);
+ IRDA_ASSERT(skb != NULL, return -1;);
IRDA_DEBUG(4, "%s()\n", __FUNCTION__);
@@ -582,16 +584,16 @@ int irttp_data_request(struct tsap_cb *self, struct sk_buff *skb)
__u8 *frame;
int ret;
- ASSERT(self != NULL, return -1;);
- ASSERT(self->magic == TTP_TSAP_MAGIC, return -1;);
- ASSERT(skb != NULL, return -1;);
+ IRDA_ASSERT(self != NULL, return -1;);
+ IRDA_ASSERT(self->magic == TTP_TSAP_MAGIC, return -1;);
+ IRDA_ASSERT(skb != NULL, return -1;);
IRDA_DEBUG(2, "%s() : queue len = %d\n", __FUNCTION__,
skb_queue_len(&self->tx_queue));
/* Check that nothing bad happens */
if ((skb->len == 0) || (!self->connected)) {
- WARNING("%s: No data, or not connected\n", __FUNCTION__);
+ IRDA_WARNING("%s: No data, or not connected\n", __FUNCTION__);
ret = -ENOTCONN;
goto err;
}
@@ -601,8 +603,8 @@ int irttp_data_request(struct tsap_cb *self, struct sk_buff *skb)
* inside an IrLAP frame
*/
if ((self->tx_max_sdu_size == 0) && (skb->len > self->max_seg_size)) {
- ERROR("%s: SAR disabled, and data is to large for IrLAP!\n",
- __FUNCTION__);
+ IRDA_ERROR("%s: SAR disabled, and data is to large for IrLAP!\n",
+ __FUNCTION__);
ret = -EMSGSIZE;
goto err;
}
@@ -615,8 +617,8 @@ int irttp_data_request(struct tsap_cb *self, struct sk_buff *skb)
(self->tx_max_sdu_size != TTP_SAR_UNBOUND) &&
(skb->len > self->tx_max_sdu_size))
{
- ERROR("%s: SAR enabled, but data is larger than TxMaxSduSize!\n",
- __FUNCTION__);
+ IRDA_ERROR("%s: SAR enabled, but data is larger than TxMaxSduSize!\n",
+ __FUNCTION__);
ret = -EMSGSIZE;
goto err;
}
@@ -638,7 +640,7 @@ int irttp_data_request(struct tsap_cb *self, struct sk_buff *skb)
/* Queue frame, or queue frame segments */
if ((self->tx_max_sdu_size == 0) || (skb->len < self->max_seg_size)) {
/* Queue frame */
- ASSERT(skb_headroom(skb) >= TTP_HEADER, return -1;);
+ IRDA_ASSERT(skb_headroom(skb) >= TTP_HEADER, return -1;);
frame = skb_push(skb, TTP_HEADER);
frame[0] = 0x00; /* Clear more bit */
@@ -800,8 +802,8 @@ static inline void irttp_give_credit(struct tsap_cb *self)
unsigned long flags;
int n;
- ASSERT(self != NULL, return;);
- ASSERT(self->magic == TTP_TSAP_MAGIC, return;);
+ IRDA_ASSERT(self != NULL, return;);
+ IRDA_ASSERT(self->magic == TTP_TSAP_MAGIC, return;);
IRDA_DEBUG(4, "%s() send=%d,avail=%d,remote=%d\n",
__FUNCTION__,
@@ -857,9 +859,9 @@ static int irttp_udata_indication(void *instance, void *sap,
self = (struct tsap_cb *) instance;
- ASSERT(self != NULL, return -1;);
- ASSERT(self->magic == TTP_TSAP_MAGIC, return -1;);
- ASSERT(skb != NULL, return -1;);
+ IRDA_ASSERT(self != NULL, return -1;);
+ IRDA_ASSERT(self->magic == TTP_TSAP_MAGIC, return -1;);
+ IRDA_ASSERT(skb != NULL, return -1;);
self->stats.rx_packets++;
@@ -974,8 +976,8 @@ static void irttp_status_indication(void *instance,
self = (struct tsap_cb *) instance;
- ASSERT(self != NULL, return;);
- ASSERT(self->magic == TTP_TSAP_MAGIC, return;);
+ IRDA_ASSERT(self != NULL, return;);
+ IRDA_ASSERT(self->magic == TTP_TSAP_MAGIC, return;);
/* Check if client has already closed the TSAP and gone away */
if (self->close_pend)
@@ -1003,8 +1005,8 @@ static void irttp_flow_indication(void *instance, void *sap, LOCAL_FLOW flow)
self = (struct tsap_cb *) instance;
- ASSERT(self != NULL, return;);
- ASSERT(self->magic == TTP_TSAP_MAGIC, return;);
+ IRDA_ASSERT(self != NULL, return;);
+ IRDA_ASSERT(self->magic == TTP_TSAP_MAGIC, return;);
IRDA_DEBUG(4, "%s(instance=%p)\n", __FUNCTION__, self);
@@ -1046,8 +1048,8 @@ void irttp_flow_request(struct tsap_cb *self, LOCAL_FLOW flow)
{
IRDA_DEBUG(1, "%s()\n", __FUNCTION__);
- ASSERT(self != NULL, return;);
- ASSERT(self->magic == TTP_TSAP_MAGIC, return;);
+ IRDA_ASSERT(self != NULL, return;);
+ IRDA_ASSERT(self->magic == TTP_TSAP_MAGIC, return;);
switch (flow) {
case FLOW_STOP:
@@ -1086,8 +1088,8 @@ int irttp_connect_request(struct tsap_cb *self, __u8 dtsap_sel,
IRDA_DEBUG(4, "%s(), max_sdu_size=%d\n", __FUNCTION__, max_sdu_size);
- ASSERT(self != NULL, return -EBADR;);
- ASSERT(self->magic == TTP_TSAP_MAGIC, return -EBADR;);
+ IRDA_ASSERT(self != NULL, return -EBADR;);
+ IRDA_ASSERT(self->magic == TTP_TSAP_MAGIC, return -EBADR;);
if (self->connected) {
if(userdata)
@@ -1109,8 +1111,8 @@ int irttp_connect_request(struct tsap_cb *self, __u8 dtsap_sel,
* Check that the client has reserved enough space for
* headers
*/
- ASSERT(skb_headroom(userdata) >= TTP_MAX_HEADER,
- { dev_kfree_skb(userdata); return -1; } );
+ IRDA_ASSERT(skb_headroom(userdata) >= TTP_MAX_HEADER,
+ { dev_kfree_skb(userdata); return -1; } );
}
/* Initialize connection parameters */
@@ -1138,8 +1140,8 @@ int irttp_connect_request(struct tsap_cb *self, __u8 dtsap_sel,
/* SAR enabled? */
if (max_sdu_size > 0) {
- ASSERT(skb_headroom(tx_skb) >= (TTP_MAX_HEADER + TTP_SAR_HEADER),
- { dev_kfree_skb(tx_skb); return -1; } );
+ IRDA_ASSERT(skb_headroom(tx_skb) >= (TTP_MAX_HEADER + TTP_SAR_HEADER),
+ { dev_kfree_skb(tx_skb); return -1; } );
/* Insert SAR parameters */
frame = skb_push(tx_skb, TTP_HEADER+TTP_SAR_HEADER);
@@ -1185,9 +1187,9 @@ static void irttp_connect_confirm(void *instance, void *sap,
self = (struct tsap_cb *) instance;
- ASSERT(self != NULL, return;);
- ASSERT(self->magic == TTP_TSAP_MAGIC, return;);
- ASSERT(skb != NULL, return;);
+ IRDA_ASSERT(self != NULL, return;);
+ IRDA_ASSERT(self->magic == TTP_TSAP_MAGIC, return;);
+ IRDA_ASSERT(skb != NULL, return;);
self->max_seg_size = max_seg_size - TTP_HEADER;
self->max_header_size = max_header_size + TTP_HEADER;
@@ -1213,7 +1215,7 @@ static void irttp_connect_confirm(void *instance, void *sap,
parameters = skb->data[0] & 0x80;
- ASSERT(skb->len >= TTP_HEADER, return;);
+ IRDA_ASSERT(skb->len >= TTP_HEADER, return;);
skb_pull(skb, TTP_HEADER);
if (parameters) {
@@ -1225,8 +1227,8 @@ static void irttp_connect_confirm(void *instance, void *sap,
/* Any errors in the parameter list? */
if (ret < 0) {
- WARNING("%s: error extracting parameters\n",
- __FUNCTION__);
+ IRDA_WARNING("%s: error extracting parameters\n",
+ __FUNCTION__);
dev_kfree_skb(skb);
/* Do not accept this connection attempt */
@@ -1269,9 +1271,9 @@ void irttp_connect_indication(void *instance, void *sap, struct qos_info *qos,
self = (struct tsap_cb *) instance;
- ASSERT(self != NULL, return;);
- ASSERT(self->magic == TTP_TSAP_MAGIC, return;);
- ASSERT(skb != NULL, return;);
+ IRDA_ASSERT(self != NULL, return;);
+ IRDA_ASSERT(self->magic == TTP_TSAP_MAGIC, return;);
+ IRDA_ASSERT(skb != NULL, return;);
lsap = (struct lsap_cb *) sap;
@@ -1290,7 +1292,7 @@ void irttp_connect_indication(void *instance, void *sap, struct qos_info *qos,
parameters = skb->data[0] & 0x80;
- ASSERT(skb->len >= TTP_HEADER, return;);
+ IRDA_ASSERT(skb->len >= TTP_HEADER, return;);
skb_pull(skb, TTP_HEADER);
if (parameters) {
@@ -1302,8 +1304,8 @@ void irttp_connect_indication(void *instance, void *sap, struct qos_info *qos,
/* Any errors in the parameter list? */
if (ret < 0) {
- WARNING("%s: error extracting parameters\n",
- __FUNCTION__);
+ IRDA_WARNING("%s: error extracting parameters\n",
+ __FUNCTION__);
dev_kfree_skb(skb);
/* Do not accept this connection attempt */
@@ -1337,8 +1339,8 @@ int irttp_connect_response(struct tsap_cb *self, __u32 max_sdu_size,
int ret;
__u8 n;
- ASSERT(self != NULL, return -1;);
- ASSERT(self->magic == TTP_TSAP_MAGIC, return -1;);
+ IRDA_ASSERT(self != NULL, return -1;);
+ IRDA_ASSERT(self->magic == TTP_TSAP_MAGIC, return -1;);
IRDA_DEBUG(4, "%s(), Source TSAP selector=%02x\n", __FUNCTION__,
self->stsap_sel);
@@ -1357,8 +1359,8 @@ int irttp_connect_response(struct tsap_cb *self, __u32 max_sdu_size,
* Check that the client has reserved enough space for
* headers
*/
- ASSERT(skb_headroom(userdata) >= TTP_MAX_HEADER,
- { dev_kfree_skb(userdata); return -1; } );
+ IRDA_ASSERT(skb_headroom(userdata) >= TTP_MAX_HEADER,
+ { dev_kfree_skb(userdata); return -1; } );
}
self->avail_credit = 0;
@@ -1380,8 +1382,8 @@ int irttp_connect_response(struct tsap_cb *self, __u32 max_sdu_size,
/* SAR enabled? */
if (max_sdu_size > 0) {
- ASSERT(skb_headroom(tx_skb) >= (TTP_MAX_HEADER + TTP_SAR_HEADER),
- { dev_kfree_skb(tx_skb); return -1; } );
+ IRDA_ASSERT(skb_headroom(tx_skb) >= (TTP_MAX_HEADER + TTP_SAR_HEADER),
+ { dev_kfree_skb(tx_skb); return -1; } );
/* Insert TTP header with SAR parameters */
frame = skb_push(tx_skb, TTP_HEADER+TTP_SAR_HEADER);
@@ -1481,8 +1483,8 @@ int irttp_disconnect_request(struct tsap_cb *self, struct sk_buff *userdata,
{
int ret;
- ASSERT(self != NULL, return -1;);
- ASSERT(self->magic == TTP_TSAP_MAGIC, return -1;);
+ IRDA_ASSERT(self != NULL, return -1;);
+ IRDA_ASSERT(self->magic == TTP_TSAP_MAGIC, return -1;);
/* Already disconnected? */
if (!self->connected) {
@@ -1579,8 +1581,8 @@ void irttp_disconnect_indication(void *instance, void *sap, LM_REASON reason,
self = (struct tsap_cb *) instance;
- ASSERT(self != NULL, return;);
- ASSERT(self->magic == TTP_TSAP_MAGIC, return;);
+ IRDA_ASSERT(self != NULL, return;);
+ IRDA_ASSERT(self->magic == TTP_TSAP_MAGIC, return;);
/* Prevent higher layer to send more data */
self->connected = FALSE;
@@ -1879,7 +1881,7 @@ static int irttp_seq_open(struct inode *inode, struct file *file)
int rc = -ENOMEM;
struct irttp_iter_state *s;
- ASSERT(irttp != NULL, return -EINVAL;);
+ IRDA_ASSERT(irttp != NULL, return -EINVAL;);
s = kmalloc(sizeof(*s), GFP_KERNEL);
if (!s)
diff --git a/net/irda/parameters.c b/net/irda/parameters.c
index 9d26cba2c3eb..1324942f976c 100644
--- a/net/irda/parameters.c
+++ b/net/irda/parameters.c
@@ -160,7 +160,8 @@ static int irda_insert_integer(void *self, __u8 *buf, int len, __u8 pi,
}
/* Check if buffer is long enough for insertion */
if (len < (2+p.pl)) {
- WARNING("%s: buffer to short for insertion!\n", __FUNCTION__);
+ IRDA_WARNING("%s: buffer to short for insertion!\n",
+ __FUNCTION__);
return -1;
}
IRDA_DEBUG(2, "%s(), pi=%#x, pl=%d, pi=%d\n", __FUNCTION__,
@@ -185,7 +186,8 @@ static int irda_insert_integer(void *self, __u8 *buf, int len, __u8 pi,
break;
default:
- WARNING("%s: length %d not supported\n", __FUNCTION__, p.pl);
+ IRDA_WARNING("%s: length %d not supported\n",
+ __FUNCTION__, p.pl);
/* Skip parameter */
return -1;
}
@@ -214,9 +216,9 @@ static int irda_extract_integer(void *self, __u8 *buf, int len, __u8 pi,
/* Check if buffer is long enough for parsing */
if (len < (2+p.pl)) {
- WARNING("%s: buffer to short for parsing! "
- "Need %d bytes, but len is only %d\n",
- __FUNCTION__, p.pl, len);
+ IRDA_WARNING("%s: buffer to short for parsing! "
+ "Need %d bytes, but len is only %d\n",
+ __FUNCTION__, p.pl, len);
return -1;
}
@@ -226,9 +228,9 @@ static int irda_extract_integer(void *self, __u8 *buf, int len, __u8 pi,
* PV_INTEGER means that the handler is flexible.
*/
if (((type & PV_MASK) != PV_INTEGER) && ((type & PV_MASK) != p.pl)) {
- ERROR("%s: invalid parameter length! "
- "Expected %d bytes, but value had %d bytes!\n",
- __FUNCTION__, type & PV_MASK, p.pl);
+ IRDA_ERROR("%s: invalid parameter length! "
+ "Expected %d bytes, but value had %d bytes!\n",
+ __FUNCTION__, type & PV_MASK, p.pl);
/* Most parameters are bit/byte fields or little endian,
* so it's ok to only extract a subset of it (the subset
@@ -265,7 +267,8 @@ static int irda_extract_integer(void *self, __u8 *buf, int len, __u8 pi,
le32_to_cpus(&p.pv.i);
break;
default:
- WARNING("%s: length %d not supported\n", __FUNCTION__, p.pl);
+ IRDA_WARNING("%s: length %d not supported\n",
+ __FUNCTION__, p.pl);
/* Skip parameter */
return p.pl+2;
@@ -301,9 +304,9 @@ static int irda_extract_string(void *self, __u8 *buf, int len, __u8 pi,
/* Check if buffer is long enough for parsing */
if (len < (2+p.pl)) {
- WARNING("%s: buffer to short for parsing! "
- "Need %d bytes, but len is only %d\n",
- __FUNCTION__, p.pl, len);
+ IRDA_WARNING("%s: buffer to short for parsing! "
+ "Need %d bytes, but len is only %d\n",
+ __FUNCTION__, p.pl, len);
return -1;
}
@@ -340,9 +343,9 @@ static int irda_extract_octseq(void *self, __u8 *buf, int len, __u8 pi,
/* Check if buffer is long enough for parsing */
if (len < (2+p.pl)) {
- WARNING("%s: buffer to short for parsing! "
- "Need %d bytes, but len is only %d\n",
- __FUNCTION__, p.pl, len);
+ IRDA_WARNING("%s: buffer to short for parsing! "
+ "Need %d bytes, but len is only %d\n",
+ __FUNCTION__, p.pl, len);
return -1;
}
@@ -459,8 +462,8 @@ int irda_param_insert(void *self, __u8 pi, __u8 *buf, int len,
int ret = -1;
int n = 0;
- ASSERT(buf != NULL, return ret;);
- ASSERT(info != 0, return ret;);
+ IRDA_ASSERT(buf != NULL, return ret;);
+ IRDA_ASSERT(info != 0, return ret;);
pi_minor = pi & info->pi_mask;
pi_major = pi >> info->pi_major_offset;
@@ -484,7 +487,7 @@ int irda_param_insert(void *self, __u8 pi, __u8 *buf, int len,
/* Check if handler has been implemented */
if (!pi_minor_info->func) {
- MESSAGE("%s: no handler for pi=%#x\n", __FUNCTION__, pi);
+ IRDA_MESSAGE("%s: no handler for pi=%#x\n", __FUNCTION__, pi);
/* Skip this parameter */
return -1;
}
@@ -513,8 +516,8 @@ static int irda_param_extract(void *self, __u8 *buf, int len,
int ret = -1;
int n = 0;
- ASSERT(buf != NULL, return ret;);
- ASSERT(info != 0, return ret;);
+ IRDA_ASSERT(buf != NULL, return ret;);
+ IRDA_ASSERT(info != 0, return ret;);
pi_minor = buf[n] & info->pi_mask;
pi_major = buf[n] >> info->pi_major_offset;
@@ -541,7 +544,8 @@ static int irda_param_extract(void *self, __u8 *buf, int len,
/* Check if handler has been implemented */
if (!pi_minor_info->func) {
- MESSAGE("%s: no handler for pi=%#x\n", __FUNCTION__, buf[n]);
+ IRDA_MESSAGE("%s: no handler for pi=%#x\n",
+ __FUNCTION__, buf[n]);
/* Skip this parameter */
return 2 + buf[n + 1]; /* Continue */
}
@@ -565,8 +569,8 @@ int irda_param_extract_all(void *self, __u8 *buf, int len,
int ret = -1;
int n = 0;
- ASSERT(buf != NULL, return ret;);
- ASSERT(info != 0, return ret;);
+ IRDA_ASSERT(buf != NULL, return ret;);
+ IRDA_ASSERT(info != 0, return ret;);
/*
* Parse all parameters. Each parameter must be at least two bytes
diff --git a/net/irda/qos.c b/net/irda/qos.c
index 288d468a8fca..df732d56cc57 100644
--- a/net/irda/qos.c
+++ b/net/irda/qos.c
@@ -200,7 +200,7 @@ static int msb_index (__u16 word)
* able to check precisely what's going on. If a end user sees this,
* it's very likely the peer. - Jean II */
if (word == 0) {
- WARNING("%s(), Detected buggy peer, adjust null PV to 0x1!\n",
+ IRDA_WARNING("%s(), Detected buggy peer, adjust null PV to 0x1!\n",
__FUNCTION__);
/* The only safe choice (we don't know the array size) */
word = 0x1;
@@ -278,8 +278,8 @@ static inline int value_highest_bit(__u32 value, __u32 *array, int size, __u16 *
*/
void irda_qos_compute_intersection(struct qos_info *qos, struct qos_info *new)
{
- ASSERT(qos != NULL, return;);
- ASSERT(new != NULL, return;);
+ IRDA_ASSERT(qos != NULL, return;);
+ IRDA_ASSERT(new != NULL, return;);
/* Apply */
qos->baud_rate.bits &= new->baud_rate.bits;
@@ -351,7 +351,7 @@ static void irlap_adjust_qos_settings(struct qos_info *qos)
if (sysctl_min_tx_turn_time > qos->min_turn_time.value) {
int i;
- WARNING("%s(), Detected buggy peer, adjust mtt to %dus!\n",
+ IRDA_WARNING("%s(), Detected buggy peer, adjust mtt to %dus!\n",
__FUNCTION__, sysctl_min_tx_turn_time);
/* We don't really need bits, but easier this way */
@@ -390,7 +390,7 @@ static void irlap_adjust_qos_settings(struct qos_info *qos)
}
#else /* Use method described in section 6.6.11 of IrLAP */
while (irlap_requested_line_capacity(qos) > line_capacity) {
- ASSERT(index != 0, return;);
+ IRDA_ASSERT(index != 0, return;);
/* Must be able to send at least one frame */
if (qos->window_size.value > 1) {
@@ -402,8 +402,8 @@ static void irlap_adjust_qos_settings(struct qos_info *qos)
IRDA_DEBUG(2, "%s(), reducing data size to %d\n",
__FUNCTION__, qos->data_size.value);
} else {
- WARNING("%s(), nothing more we can do!\n",
- __FUNCTION__);
+ IRDA_WARNING("%s(), nothing more we can do!\n",
+ __FUNCTION__);
}
}
#endif /* CONFIG_IRDA_DYNAMIC_WINDOW */
@@ -532,8 +532,8 @@ static int irlap_param_baud_rate(void *instance, irda_param_t *param, int get)
struct irlap_cb *self = (struct irlap_cb *) instance;
- ASSERT(self != NULL, return -1;);
- ASSERT(self->magic == LAP_MAGIC, return -1;);
+ IRDA_ASSERT(self != NULL, return -1;);
+ IRDA_ASSERT(self->magic == LAP_MAGIC, return -1;);
if (get) {
param->pv.i = self->qos_rx.baud_rate.bits;
@@ -568,8 +568,8 @@ static int irlap_param_link_disconnect(void *instance, irda_param_t *param,
struct irlap_cb *self = (struct irlap_cb *) instance;
- ASSERT(self != NULL, return -1;);
- ASSERT(self->magic == LAP_MAGIC, return -1;);
+ IRDA_ASSERT(self != NULL, return -1;);
+ IRDA_ASSERT(self->magic == LAP_MAGIC, return -1;);
if (get)
param->pv.i = self->qos_rx.link_disc_time.bits;
@@ -600,8 +600,8 @@ static int irlap_param_max_turn_time(void *instance, irda_param_t *param,
{
struct irlap_cb *self = (struct irlap_cb *) instance;
- ASSERT(self != NULL, return -1;);
- ASSERT(self->magic == LAP_MAGIC, return -1;);
+ IRDA_ASSERT(self != NULL, return -1;);
+ IRDA_ASSERT(self->magic == LAP_MAGIC, return -1;);
if (get)
param->pv.i = self->qos_rx.max_turn_time.bits;
@@ -622,8 +622,8 @@ static int irlap_param_data_size(void *instance, irda_param_t *param, int get)
{
struct irlap_cb *self = (struct irlap_cb *) instance;
- ASSERT(self != NULL, return -1;);
- ASSERT(self->magic == LAP_MAGIC, return -1;);
+ IRDA_ASSERT(self != NULL, return -1;);
+ IRDA_ASSERT(self->magic == LAP_MAGIC, return -1;);
if (get)
param->pv.i = self->qos_rx.data_size.bits;
@@ -645,8 +645,8 @@ static int irlap_param_window_size(void *instance, irda_param_t *param,
{
struct irlap_cb *self = (struct irlap_cb *) instance;
- ASSERT(self != NULL, return -1;);
- ASSERT(self->magic == LAP_MAGIC, return -1;);
+ IRDA_ASSERT(self != NULL, return -1;);
+ IRDA_ASSERT(self->magic == LAP_MAGIC, return -1;);
if (get)
param->pv.i = self->qos_rx.window_size.bits;
@@ -666,8 +666,8 @@ static int irlap_param_additional_bofs(void *instance, irda_param_t *param, int
{
struct irlap_cb *self = (struct irlap_cb *) instance;
- ASSERT(self != NULL, return -1;);
- ASSERT(self->magic == LAP_MAGIC, return -1;);
+ IRDA_ASSERT(self != NULL, return -1;);
+ IRDA_ASSERT(self->magic == LAP_MAGIC, return -1;);
if (get)
param->pv.i = self->qos_rx.additional_bofs.bits;
@@ -688,8 +688,8 @@ static int irlap_param_min_turn_time(void *instance, irda_param_t *param,
{
struct irlap_cb *self = (struct irlap_cb *) instance;
- ASSERT(self != NULL, return -1;);
- ASSERT(self->magic == LAP_MAGIC, return -1;);
+ IRDA_ASSERT(self != NULL, return -1;);
+ IRDA_ASSERT(self->magic == LAP_MAGIC, return -1;);
if (get)
param->pv.i = self->qos_rx.min_turn_time.bits;
@@ -716,8 +716,8 @@ __u32 irlap_max_line_capacity(__u32 speed, __u32 max_turn_time)
i = value_index(speed, baud_rates, 10);
j = value_index(max_turn_time, max_turn_times, 4);
- ASSERT(((i >=0) && (i <10)), return 0;);
- ASSERT(((j >=0) && (j <4)), return 0;);
+ IRDA_ASSERT(((i >=0) && (i <10)), return 0;);
+ IRDA_ASSERT(((j >=0) && (j <4)), return 0;);
line_capacity = max_line_capacities[i][j];
@@ -748,7 +748,7 @@ void irda_qos_bits_to_value(struct qos_info *qos)
{
int index;
- ASSERT(qos != NULL, return;);
+ IRDA_ASSERT(qos != NULL, return;);
index = msb_index(qos->baud_rate.bits);
qos->baud_rate.value = baud_rates[index];
diff --git a/net/irda/timer.c b/net/irda/timer.c
index 0b2811834fa3..0e17f976add6 100644
--- a/net/irda/timer.c
+++ b/net/irda/timer.c
@@ -144,8 +144,8 @@ static void irlap_slot_timer_expired(void *data)
{
struct irlap_cb *self = (struct irlap_cb *) data;
- ASSERT(self != NULL, return;);
- ASSERT(self->magic == LAP_MAGIC, return;);
+ IRDA_ASSERT(self != NULL, return;);
+ IRDA_ASSERT(self->magic == LAP_MAGIC, return;);
irlap_do_event(self, SLOT_TIMER_EXPIRED, NULL, NULL);
}
@@ -160,8 +160,8 @@ static void irlap_query_timer_expired(void *data)
{
struct irlap_cb *self = (struct irlap_cb *) data;
- ASSERT(self != NULL, return;);
- ASSERT(self->magic == LAP_MAGIC, return;);
+ IRDA_ASSERT(self != NULL, return;);
+ IRDA_ASSERT(self->magic == LAP_MAGIC, return;);
irlap_do_event(self, QUERY_TIMER_EXPIRED, NULL, NULL);
}
@@ -176,8 +176,8 @@ static void irlap_final_timer_expired(void *data)
{
struct irlap_cb *self = (struct irlap_cb *) data;
- ASSERT(self != NULL, return;);
- ASSERT(self->magic == LAP_MAGIC, return;);
+ IRDA_ASSERT(self != NULL, return;);
+ IRDA_ASSERT(self->magic == LAP_MAGIC, return;);
irlap_do_event(self, FINAL_TIMER_EXPIRED, NULL, NULL);
}
@@ -192,8 +192,8 @@ static void irlap_wd_timer_expired(void *data)
{
struct irlap_cb *self = (struct irlap_cb *) data;
- ASSERT(self != NULL, return;);
- ASSERT(self->magic == LAP_MAGIC, return;);
+ IRDA_ASSERT(self != NULL, return;);
+ IRDA_ASSERT(self->magic == LAP_MAGIC, return;);
irlap_do_event(self, WD_TIMER_EXPIRED, NULL, NULL);
}
@@ -208,8 +208,8 @@ static void irlap_backoff_timer_expired(void *data)
{
struct irlap_cb *self = (struct irlap_cb *) data;
- ASSERT(self != NULL, return;);
- ASSERT(self->magic == LAP_MAGIC, return;);
+ IRDA_ASSERT(self != NULL, return;);
+ IRDA_ASSERT(self->magic == LAP_MAGIC, return;);
irlap_do_event(self, BACKOFF_TIMER_EXPIRED, NULL, NULL);
}
@@ -224,7 +224,7 @@ void irlap_media_busy_expired(void* data)
{
struct irlap_cb *self = (struct irlap_cb *) data;
- ASSERT(self != NULL, return;);
+ IRDA_ASSERT(self != NULL, return;);
irda_device_set_media_busy(self->netdev, FALSE);
/* Note : the LAP event will be send in irlap_stop_mbusy_timer(),
diff --git a/net/irda/wrapper.c b/net/irda/wrapper.c
index c96074d325ac..87130c1c8693 100644
--- a/net/irda/wrapper.c
+++ b/net/irda/wrapper.c
@@ -133,7 +133,11 @@ int async_wrap_skb(struct sk_buff *skb, __u8 *tx_buff, int buffsize)
* bufsize-5 since the maximum number of bytes that can be
* transmitted after this point is 5.
*/
- ASSERT(n < (buffsize-5), return n;);
+ if(n >= (buffsize-5)) {
+ IRDA_ERROR("%s(), tx buffer overflow (n=%d)\n",
+ __FUNCTION__, n);
+ return n;
+ }
n += stuff_byte(skb->data[i], tx_buff+n);
fcs.value = irda_fcs(fcs.value, skb->data[i]);
@@ -381,7 +385,7 @@ async_unwrap_ce(struct net_device *dev,
break;
case LINK_ESCAPE:
- WARNING("%s: state not defined\n", __FUNCTION__);
+ IRDA_WARNING("%s: state not defined\n", __FUNCTION__);
break;
case BEGIN_FRAME:
diff --git a/net/netlink/Makefile b/net/netlink/Makefile
index b81a514ecfd8..39d9c2dcd03c 100644
--- a/net/netlink/Makefile
+++ b/net/netlink/Makefile
@@ -3,4 +3,3 @@
#
obj-y := af_netlink.o
-obj-$(CONFIG_NETLINK_DEV) += netlink_dev.o
diff --git a/net/netlink/af_netlink.c b/net/netlink/af_netlink.c
index 01b905bf521c..9b32fb4cf0b1 100644
--- a/net/netlink/af_netlink.c
+++ b/net/netlink/af_netlink.c
@@ -55,10 +55,6 @@
#define Nprintk(a...)
-#if defined(CONFIG_NETLINK_DEV) || defined(CONFIG_NETLINK_DEV_MODULE)
-#define NL_EMULATE_DEV
-#endif
-
struct netlink_sock {
/* struct sock has to be the first member of netlink_sock */
struct sock sk;
@@ -67,7 +63,6 @@ struct netlink_sock {
u32 dst_pid;
unsigned int dst_groups;
unsigned long state;
- int (*handler)(int unit, struct sk_buff *skb);
wait_queue_head_t wait;
struct netlink_callback *cb;
spinlock_t cb_lock;
@@ -593,10 +588,6 @@ int netlink_attachskb(struct sock *sk, struct sk_buff *skb, int nonblock, long t
nlk = nlk_sk(sk);
-#ifdef NL_EMULATE_DEV
- if (nlk->handler)
- return 0;
-#endif
if (atomic_read(&sk->sk_rmem_alloc) > sk->sk_rcvbuf ||
test_bit(0, &nlk->state)) {
DECLARE_WAITQUEUE(wait, current);
@@ -636,14 +627,6 @@ int netlink_sendskb(struct sock *sk, struct sk_buff *skb, int protocol)
int len = skb->len;
nlk = nlk_sk(sk);
-#ifdef NL_EMULATE_DEV
- if (nlk->handler) {
- skb_orphan(skb);
- len = nlk->handler(protocol, skb);
- sock_put(sk);
- return len;
- }
-#endif
skb_queue_tail(&sk->sk_receive_queue, skb);
sk->sk_data_ready(sk, len);
@@ -708,12 +691,7 @@ retry:
static __inline__ int netlink_broadcast_deliver(struct sock *sk, struct sk_buff *skb)
{
struct netlink_sock *nlk = nlk_sk(sk);
-#ifdef NL_EMULATE_DEV
- if (nlk->handler) {
- nlk->handler(sk->sk_protocol, skb);
- return 0;
- } else
-#endif
+
if (atomic_read(&sk->sk_rmem_alloc) <= sk->sk_rcvbuf &&
!test_bit(0, &nlk->state)) {
skb_set_owner_r(skb, sk);
diff --git a/net/netlink/netlink_dev.c b/net/netlink/netlink_dev.c
deleted file mode 100644
index 59f53de4b86b..000000000000
--- a/net/netlink/netlink_dev.c
+++ /dev/null
@@ -1,278 +0,0 @@
-/*
- * NETLINK An implementation of a loadable kernel mode driver providing
- * multiple kernel/user space bidirectional communications links.
- *
- * Author: Alan Cox <alan@redhat.com>
- *
- * This program is free software; you can redistribute it and/or
- * modify it under the terms of the GNU General Public License
- * as published by the Free Software Foundation; either version
- * 2 of the License, or (at your option) any later version.
- *
- * Now netlink devices are emulated on the top of netlink sockets
- * by compatibility reasons. Remove this file after a period. --ANK
- *
- */
-
-#include <linux/module.h>
-
-#include <linux/errno.h>
-#include <linux/kernel.h>
-#include <linux/major.h>
-#include <linux/sched.h>
-#include <linux/slab.h>
-#include <linux/skbuff.h>
-#include <linux/netlink.h>
-#include <linux/poll.h>
-#include <linux/init.h>
-#include <linux/devfs_fs_kernel.h>
-#include <linux/smp_lock.h>
-#include <linux/device.h>
-#include <linux/bitops.h>
-
-#include <asm/system.h>
-#include <asm/uaccess.h>
-
-static long open_map;
-static struct socket *netlink_user[MAX_LINKS];
-static struct class_simple *netlink_class;
-
-/*
- * Device operations
- */
-
-static unsigned int netlink_poll(struct file *file, poll_table * wait)
-{
- struct socket *sock = netlink_user[iminor(file->f_dentry->d_inode)];
-
- if (sock->ops->poll==NULL)
- return 0;
- return sock->ops->poll(file, sock, wait);
-}
-
-/*
- * Write a message to the kernel side of a communication link
- */
-
-static ssize_t netlink_write(struct file * file, const char __user * buf,
- size_t count, loff_t *pos)
-{
- struct inode *inode = file->f_dentry->d_inode;
- struct socket *sock = netlink_user[iminor(inode)];
- struct msghdr msg;
- struct iovec iov;
-
- iov.iov_base = (void __user*)buf;
- iov.iov_len = count;
- msg.msg_name=NULL;
- msg.msg_namelen=0;
- msg.msg_controllen=0;
- msg.msg_flags=0;
- msg.msg_iov=&iov;
- msg.msg_iovlen=1;
-
- return sock_sendmsg(sock, &msg, count);
-}
-
-/*
- * Read a message from the kernel side of the communication link
- */
-
-static ssize_t netlink_read(struct file * file, char __user * buf,
- size_t count, loff_t *pos)
-{
- struct inode *inode = file->f_dentry->d_inode;
- struct socket *sock = netlink_user[iminor(inode)];
- struct msghdr msg;
- struct iovec iov;
-
- iov.iov_base = buf;
- iov.iov_len = count;
- msg.msg_name=NULL;
- msg.msg_namelen=0;
- msg.msg_controllen=0;
- msg.msg_flags=0;
- msg.msg_iov=&iov;
- msg.msg_iovlen=1;
- if (file->f_flags&O_NONBLOCK)
- msg.msg_flags=MSG_DONTWAIT;
-
- return sock_recvmsg(sock, &msg, count, msg.msg_flags);
-}
-
-static int netlink_open(struct inode * inode, struct file * file)
-{
- unsigned int minor = iminor(inode);
- struct socket *sock;
- struct sockaddr_nl nladdr;
- int err;
-
- if (minor>=MAX_LINKS)
- return -ENODEV;
- if (test_and_set_bit(minor, &open_map))
- return -EBUSY;
-
- err = sock_create_kern(PF_NETLINK, SOCK_RAW, minor, &sock);
- if (err < 0)
- goto out;
-
- memset(&nladdr, 0, sizeof(nladdr));
- nladdr.nl_family = AF_NETLINK;
- nladdr.nl_groups = ~0;
- if ((err = sock->ops->bind(sock, (struct sockaddr*)&nladdr, sizeof(nladdr))) < 0) {
- sock_release(sock);
- goto out;
- }
-
- netlink_user[minor] = sock;
- return 0;
-
-out:
- clear_bit(minor, &open_map);
- return err;
-}
-
-static int netlink_release(struct inode * inode, struct file * file)
-{
- unsigned int minor = iminor(inode);
- struct socket *sock;
-
- sock = netlink_user[minor];
- netlink_user[minor] = NULL;
- clear_bit(minor, &open_map);
- sock_release(sock);
- return 0;
-}
-
-
-static int netlink_ioctl(struct inode *inode, struct file *file,
- unsigned int cmd, unsigned long arg)
-{
- unsigned int minor = iminor(inode);
- int retval = 0;
-
- if (minor >= MAX_LINKS)
- return -ENODEV;
- switch ( cmd ) {
- default:
- retval = -EINVAL;
- }
- return retval;
-}
-
-
-static struct file_operations netlink_fops = {
- .owner = THIS_MODULE,
- .llseek = no_llseek,
- .read = netlink_read,
- .write = netlink_write,
- .poll = netlink_poll,
- .ioctl = netlink_ioctl,
- .open = netlink_open,
- .release = netlink_release,
-};
-
-static struct {
- char *name;
- int minor;
-} entries[] = {
- {
- .name = "route",
- .minor = NETLINK_ROUTE,
- },
- {
- .name = "skip",
- .minor = NETLINK_SKIP,
- },
- {
- .name = "usersock",
- .minor = NETLINK_USERSOCK,
- },
- {
- .name = "fwmonitor",
- .minor = NETLINK_FIREWALL,
- },
- {
- .name = "tcpdiag",
- .minor = NETLINK_TCPDIAG,
- },
- {
- .name = "nflog",
- .minor = NETLINK_NFLOG,
- },
- {
- .name = "xfrm",
- .minor = NETLINK_XFRM,
- },
- {
- .name = "arpd",
- .minor = NETLINK_ARPD,
- },
- {
- .name = "route6",
- .minor = NETLINK_ROUTE6,
- },
- {
- .name = "ip6_fw",
- .minor = NETLINK_IP6_FW,
- },
- {
- .name = "dnrtmsg",
- .minor = NETLINK_DNRTMSG,
- },
-};
-
-static int __init init_netlink(void)
-{
- int i;
-
- if (register_chrdev(NETLINK_MAJOR,"netlink", &netlink_fops)) {
- printk(KERN_ERR "netlink: unable to get major %d\n", NETLINK_MAJOR);
- return -EIO;
- }
-
- netlink_class = class_simple_create(THIS_MODULE, "netlink");
- if (IS_ERR(netlink_class)) {
- printk (KERN_ERR "Error creating netlink class.\n");
- unregister_chrdev(NETLINK_MAJOR, "netlink");
- return PTR_ERR(netlink_class);
- }
-
- devfs_mk_dir("netlink");
-
- /* Someone tell me the official names for the uppercase ones */
- for (i = 0; i < ARRAY_SIZE(entries); i++) {
- devfs_mk_cdev(MKDEV(NETLINK_MAJOR, entries[i].minor),
- S_IFCHR|S_IRUSR|S_IWUSR, "netlink/%s", entries[i].name);
- class_simple_device_add(netlink_class, MKDEV(NETLINK_MAJOR, entries[i].minor), NULL, "%s", entries[i].name);
- }
-
- for (i = 0; i < 16; i++) {
- devfs_mk_cdev(MKDEV(NETLINK_MAJOR, i + 16),
- S_IFCHR|S_IRUSR|S_IWUSR, "netlink/tap%d", i);
- class_simple_device_add(netlink_class, MKDEV(NETLINK_MAJOR, i + 16), NULL, "tap%d", i);
- }
-
- return 0;
-}
-
-static void __exit cleanup_netlink(void)
-{
- int i;
-
- for (i = 0; i < ARRAY_SIZE(entries); i++) {
- devfs_remove("netlink/%s", entries[i].name);
- class_simple_device_remove(MKDEV(NETLINK_MAJOR, entries[i].minor));
- }
- for (i = 0; i < 16; i++) {
- devfs_remove("netlink/tap%d", i);
- class_simple_device_remove(MKDEV(NETLINK_MAJOR, i + 16));
- }
- devfs_remove("netlink");
- class_simple_destroy(netlink_class);
- unregister_chrdev(NETLINK_MAJOR, "netlink");
-}
-
-MODULE_LICENSE("GPL");
-module_init(init_netlink);
-module_exit(cleanup_netlink);
diff --git a/net/netrom/af_netrom.c b/net/netrom/af_netrom.c
index 31307740e897..024217b2f9e5 100644
--- a/net/netrom/af_netrom.c
+++ b/net/netrom/af_netrom.c
@@ -66,24 +66,7 @@ static struct proto_ops nr_proto_ops;
static struct sock *nr_alloc_sock(void)
{
- nr_cb *nr;
- struct sock *sk = sk_alloc(PF_NETROM, GFP_ATOMIC, 1, NULL);
-
- if (!sk)
- goto out;
-
- nr = sk->sk_protinfo = kmalloc(sizeof(*nr), GFP_ATOMIC);
- if (!nr)
- goto frees;
-
- memset(nr, 0x00, sizeof(*nr));
- nr->sk = sk;
-out:
- return sk;
-frees:
- sk_free(sk);
- sk = NULL;
- goto out;
+ return sk_alloc(PF_NETROM, GFP_ATOMIC, sizeof(struct nr_sock), NULL);
}
/*
@@ -169,7 +152,7 @@ static struct sock *nr_find_socket(unsigned char index, unsigned char id)
spin_lock_bh(&nr_list_lock);
sk_for_each(s, node, &nr_list) {
- nr_cb *nr = nr_sk(s);
+ struct nr_sock *nr = nr_sk(s);
if (nr->my_index == index && nr->my_id == id) {
bh_lock_sock(s);
@@ -193,7 +176,7 @@ static struct sock *nr_find_peer(unsigned char index, unsigned char id,
spin_lock_bh(&nr_list_lock);
sk_for_each(s, node, &nr_list) {
- nr_cb *nr = nr_sk(s);
+ struct nr_sock *nr = nr_sk(s);
if (nr->your_index == index && nr->your_id == id &&
!ax25cmp(&nr->dest_addr, dest)) {
@@ -300,7 +283,7 @@ static int nr_setsockopt(struct socket *sock, int level, int optname,
char __user *optval, int optlen)
{
struct sock *sk = sock->sk;
- nr_cb *nr = nr_sk(sk);
+ struct nr_sock *nr = nr_sk(sk);
int opt;
if (level != SOL_NETROM)
@@ -352,7 +335,7 @@ static int nr_getsockopt(struct socket *sock, int level, int optname,
char __user *optval, int __user *optlen)
{
struct sock *sk = sock->sk;
- nr_cb *nr = nr_sk(sk);
+ struct nr_sock *nr = nr_sk(sk);
int val = 0;
int len;
@@ -418,7 +401,7 @@ static int nr_listen(struct socket *sock, int backlog)
static int nr_create(struct socket *sock, int protocol)
{
struct sock *sk;
- nr_cb *nr;
+ struct nr_sock *nr;
if (sock->type != SOCK_SEQPACKET || protocol != 0)
return -ESOCKTNOSUPPORT;
@@ -456,7 +439,7 @@ static int nr_create(struct socket *sock, int protocol)
static struct sock *nr_make_new(struct sock *osk)
{
struct sock *sk;
- nr_cb *nr, *onr;
+ struct nr_sock *nr, *onr;
if (osk->sk_type != SOCK_SEQPACKET)
return NULL;
@@ -508,7 +491,7 @@ static struct sock *nr_make_new(struct sock *osk)
static int nr_release(struct socket *sock)
{
struct sock *sk = sock->sk;
- nr_cb *nr;
+ struct nr_sock *nr;
if (sk == NULL) return 0;
@@ -556,7 +539,7 @@ static int nr_release(struct socket *sock)
static int nr_bind(struct socket *sock, struct sockaddr *uaddr, int addr_len)
{
struct sock *sk = sock->sk;
- nr_cb *nr = nr_sk(sk);
+ struct nr_sock *nr = nr_sk(sk);
struct full_sockaddr_ax25 *addr = (struct full_sockaddr_ax25 *)uaddr;
struct net_device *dev;
ax25_address *user, *source;
@@ -625,7 +608,7 @@ static int nr_connect(struct socket *sock, struct sockaddr *uaddr,
int addr_len, int flags)
{
struct sock *sk = sock->sk;
- nr_cb *nr = nr_sk(sk);
+ struct nr_sock *nr = nr_sk(sk);
struct sockaddr_ax25 *addr = (struct sockaddr_ax25 *)uaddr;
ax25_address *user, *source = NULL;
struct net_device *dev;
@@ -822,7 +805,7 @@ static int nr_getname(struct socket *sock, struct sockaddr *uaddr,
{
struct full_sockaddr_ax25 *sax = (struct full_sockaddr_ax25 *)uaddr;
struct sock *sk = sock->sk;
- nr_cb *nr = nr_sk(sk);
+ struct nr_sock *nr = nr_sk(sk);
lock_sock(sk);
if (peer != 0) {
@@ -850,7 +833,7 @@ int nr_rx_frame(struct sk_buff *skb, struct net_device *dev)
{
struct sock *sk;
struct sock *make;
- nr_cb *nr_make;
+ struct nr_sock *nr_make;
ax25_address *src, *dest, *user;
unsigned short circuit_index, circuit_id;
unsigned short peer_circuit_index, peer_circuit_id;
@@ -942,7 +925,7 @@ int nr_rx_frame(struct sk_buff *skb, struct net_device *dev)
user = (ax25_address *)(skb->data + 21);
- if (!sk || sk->sk_ack_backlog == sk->sk_max_ack_backlog ||
+ if (sk == NULL || sk_acceptq_is_full(sk) ||
(make = nr_make_new(sk)) == NULL) {
nr_transmit_refusal(skb, 0);
if (sk)
@@ -1015,7 +998,7 @@ static int nr_sendmsg(struct kiocb *iocb, struct socket *sock,
struct msghdr *msg, size_t len)
{
struct sock *sk = sock->sk;
- nr_cb *nr = nr_sk(sk);
+ struct nr_sock *nr = nr_sk(sk);
struct sockaddr_ax25 *usax = (struct sockaddr_ax25 *)msg->msg_name;
int err;
struct sockaddr_ax25 sax;
@@ -1275,7 +1258,7 @@ static int nr_info_show(struct seq_file *seq, void *v)
{
struct sock *s = v;
struct net_device *dev;
- nr_cb *nr;
+ struct nr_sock *nr;
const char *devname;
if (v == SEQ_START_TOKEN)
diff --git a/net/netrom/nr_in.c b/net/netrom/nr_in.c
index 7de7f0d818bc..9c44b3794126 100644
--- a/net/netrom/nr_in.c
+++ b/net/netrom/nr_in.c
@@ -34,7 +34,7 @@
static int nr_queue_rx_frame(struct sock *sk, struct sk_buff *skb, int more)
{
struct sk_buff *skbo, *skbn = skb;
- nr_cb *nr = nr_sk(sk);
+ struct nr_sock *nr = nr_sk(sk);
skb_pull(skb, NR_NETWORK_LEN + NR_TRANSPORT_LEN);
@@ -76,7 +76,7 @@ static int nr_state1_machine(struct sock *sk, struct sk_buff *skb,
{
switch (frametype) {
case NR_CONNACK: {
- nr_cb *nr = nr_sk(sk);
+ struct nr_sock *nr = nr_sk(sk);
nr_stop_t1timer(sk);
nr_start_idletimer(sk);
@@ -138,7 +138,7 @@ static int nr_state2_machine(struct sock *sk, struct sk_buff *skb,
*/
static int nr_state3_machine(struct sock *sk, struct sk_buff *skb, int frametype)
{
- nr_cb *nrom = nr_sk(sk);
+ struct nr_sock *nrom = nr_sk(sk);
struct sk_buff_head temp_queue;
struct sk_buff *skbn;
unsigned short save_vr;
@@ -264,7 +264,7 @@ static int nr_state3_machine(struct sock *sk, struct sk_buff *skb, int frametype
/* Higher level upcall for a LAPB frame - called with sk locked */
int nr_process_rx_frame(struct sock *sk, struct sk_buff *skb)
{
- nr_cb *nr = nr_sk(sk);
+ struct nr_sock *nr = nr_sk(sk);
int queued = 0, frametype;
if (nr->state == NR_STATE_0)
diff --git a/net/netrom/nr_out.c b/net/netrom/nr_out.c
index d36393da5825..7939ded9c98c 100644
--- a/net/netrom/nr_out.c
+++ b/net/netrom/nr_out.c
@@ -82,7 +82,7 @@ void nr_output(struct sock *sk, struct sk_buff *skb)
*/
static void nr_send_iframe(struct sock *sk, struct sk_buff *skb)
{
- nr_cb *nr = nr_sk(sk);
+ struct nr_sock *nr = nr_sk(sk);
if (skb == NULL)
return;
@@ -101,7 +101,7 @@ static void nr_send_iframe(struct sock *sk, struct sk_buff *skb)
void nr_send_nak_frame(struct sock *sk)
{
struct sk_buff *skb, *skbn;
- nr_cb *nr = nr_sk(sk);
+ struct nr_sock *nr = nr_sk(sk);
if ((skb = skb_peek(&nr->ack_queue)) == NULL)
return;
@@ -125,7 +125,7 @@ void nr_send_nak_frame(struct sock *sk)
void nr_kick(struct sock *sk)
{
- nr_cb *nr = nr_sk(sk);
+ struct nr_sock *nr = nr_sk(sk);
struct sk_buff *skb, *skbn;
unsigned short start, end;
@@ -188,7 +188,7 @@ void nr_kick(struct sock *sk)
void nr_transmit_buffer(struct sock *sk, struct sk_buff *skb)
{
- nr_cb *nr = nr_sk(sk);
+ struct nr_sock *nr = nr_sk(sk);
unsigned char *dptr;
/*
@@ -223,7 +223,7 @@ void nr_transmit_buffer(struct sock *sk, struct sk_buff *skb)
void nr_establish_data_link(struct sock *sk)
{
- nr_cb *nr = nr_sk(sk);
+ struct nr_sock *nr = nr_sk(sk);
nr->condition = 0x00;
nr->n2count = 0;
@@ -241,7 +241,7 @@ void nr_establish_data_link(struct sock *sk)
*/
void nr_enquiry_response(struct sock *sk)
{
- nr_cb *nr = nr_sk(sk);
+ struct nr_sock *nr = nr_sk(sk);
int frametype = NR_INFOACK;
if (nr->condition & NR_COND_OWN_RX_BUSY) {
@@ -259,7 +259,7 @@ void nr_enquiry_response(struct sock *sk)
void nr_check_iframes_acked(struct sock *sk, unsigned short nr)
{
- nr_cb *nrom = nr_sk(sk);
+ struct nr_sock *nrom = nr_sk(sk);
if (nrom->vs == nr) {
nr_frames_acked(sk, nr);
diff --git a/net/netrom/nr_subr.c b/net/netrom/nr_subr.c
index 474ff6309f10..0627347b14b8 100644
--- a/net/netrom/nr_subr.c
+++ b/net/netrom/nr_subr.c
@@ -34,7 +34,7 @@
*/
void nr_clear_queues(struct sock *sk)
{
- nr_cb *nr = nr_sk(sk);
+ struct nr_sock *nr = nr_sk(sk);
skb_queue_purge(&sk->sk_write_queue);
skb_queue_purge(&nr->ack_queue);
@@ -49,7 +49,7 @@ void nr_clear_queues(struct sock *sk)
*/
void nr_frames_acked(struct sock *sk, unsigned short nr)
{
- nr_cb *nrom = nr_sk(sk);
+ struct nr_sock *nrom = nr_sk(sk);
struct sk_buff *skb;
/*
@@ -88,7 +88,7 @@ void nr_requeue_frames(struct sock *sk)
*/
int nr_validate_nr(struct sock *sk, unsigned short nr)
{
- nr_cb *nrom = nr_sk(sk);
+ struct nr_sock *nrom = nr_sk(sk);
unsigned short vc = nrom->va;
while (vc != nrom->vs) {
@@ -104,7 +104,7 @@ int nr_validate_nr(struct sock *sk, unsigned short nr)
*/
int nr_in_rx_window(struct sock *sk, unsigned short ns)
{
- nr_cb *nr = nr_sk(sk);
+ struct nr_sock *nr = nr_sk(sk);
unsigned short vc = nr->vr;
unsigned short vt = (nr->vl + nr->window) % NR_MODULUS;
@@ -122,7 +122,7 @@ int nr_in_rx_window(struct sock *sk, unsigned short ns)
*/
void nr_write_internal(struct sock *sk, int frametype)
{
- nr_cb *nr = nr_sk(sk);
+ struct nr_sock *nr = nr_sk(sk);
struct sk_buff *skb;
unsigned char *dptr;
int len, timeout;
diff --git a/net/netrom/nr_timer.c b/net/netrom/nr_timer.c
index 213d0b400709..faabda8088be 100644
--- a/net/netrom/nr_timer.c
+++ b/net/netrom/nr_timer.c
@@ -38,7 +38,7 @@ static void nr_idletimer_expiry(unsigned long);
void nr_init_timers(struct sock *sk)
{
- nr_cb *nr = nr_sk(sk);
+ struct nr_sock *nr = nr_sk(sk);
init_timer(&nr->t1timer);
nr->t1timer.data = (unsigned long)sk;
@@ -63,28 +63,28 @@ void nr_init_timers(struct sock *sk)
void nr_start_t1timer(struct sock *sk)
{
- nr_cb *nr = nr_sk(sk);
+ struct nr_sock *nr = nr_sk(sk);
mod_timer(&nr->t1timer, jiffies + nr->t1);
}
void nr_start_t2timer(struct sock *sk)
{
- nr_cb *nr = nr_sk(sk);
+ struct nr_sock *nr = nr_sk(sk);
mod_timer(&nr->t2timer, jiffies + nr->t2);
}
void nr_start_t4timer(struct sock *sk)
{
- nr_cb *nr = nr_sk(sk);
+ struct nr_sock *nr = nr_sk(sk);
mod_timer(&nr->t4timer, jiffies + nr->t4);
}
void nr_start_idletimer(struct sock *sk)
{
- nr_cb *nr = nr_sk(sk);
+ struct nr_sock *nr = nr_sk(sk);
if (nr->idle > 0)
mod_timer(&nr->idletimer, jiffies + nr->idle);
@@ -128,7 +128,7 @@ int nr_t1timer_running(struct sock *sk)
static void nr_heartbeat_expiry(unsigned long param)
{
struct sock *sk = (struct sock *)param;
- nr_cb *nr = nr_sk(sk);
+ struct nr_sock *nr = nr_sk(sk);
bh_lock_sock(sk);
switch (nr->state) {
@@ -167,7 +167,7 @@ static void nr_heartbeat_expiry(unsigned long param)
static void nr_t2timer_expiry(unsigned long param)
{
struct sock *sk = (struct sock *)param;
- nr_cb *nr = nr_sk(sk);
+ struct nr_sock *nr = nr_sk(sk);
bh_lock_sock(sk);
if (nr->condition & NR_COND_ACK_PENDING) {
@@ -189,7 +189,7 @@ static void nr_t4timer_expiry(unsigned long param)
static void nr_idletimer_expiry(unsigned long param)
{
struct sock *sk = (struct sock *)param;
- nr_cb *nr = nr_sk(sk);
+ struct nr_sock *nr = nr_sk(sk);
bh_lock_sock(sk);
@@ -217,7 +217,7 @@ static void nr_idletimer_expiry(unsigned long param)
static void nr_t1timer_expiry(unsigned long param)
{
struct sock *sk = (struct sock *)param;
- nr_cb *nr = nr_sk(sk);
+ struct nr_sock *nr = nr_sk(sk);
bh_lock_sock(sk);
switch (nr->state) {
diff --git a/net/rose/af_rose.c b/net/rose/af_rose.c
index 4e8ba48834fd..68da687c9142 100644
--- a/net/rose/af_rose.c
+++ b/net/rose/af_rose.c
@@ -128,24 +128,7 @@ int rosecmpm(rose_address *addr1, rose_address *addr2, unsigned short mask)
static struct sock *rose_alloc_sock(void)
{
- rose_cb *rose;
- struct sock *sk = sk_alloc(PF_ROSE, GFP_ATOMIC, 1, NULL);
-
- if (!sk)
- goto out;
-
- rose = sk->sk_protinfo = kmalloc(sizeof(*rose), GFP_ATOMIC);
- if (!rose)
- goto frees;
-
- memset(rose, 0x00, sizeof(*rose));
- rose->sk = sk;
-out:
- return sk;
-frees:
- sk_free(sk);
- sk = NULL;
- goto out;
+ return sk_alloc(PF_ROSE, GFP_ATOMIC, sizeof(struct rose_sock), NULL);
}
/*
@@ -169,7 +152,7 @@ void rose_kill_by_neigh(struct rose_neigh *neigh)
spin_lock_bh(&rose_list_lock);
sk_for_each(s, node, &rose_list) {
- rose_cb *rose = rose_sk(s);
+ struct rose_sock *rose = rose_sk(s);
if (rose->neighbour == neigh) {
rose_disconnect(s, ENETUNREACH, ROSE_OUT_OF_ORDER, 0);
@@ -190,7 +173,7 @@ static void rose_kill_by_device(struct net_device *dev)
spin_lock_bh(&rose_list_lock);
sk_for_each(s, node, &rose_list) {
- rose_cb *rose = rose_sk(s);
+ struct rose_sock *rose = rose_sk(s);
if (rose->device == dev) {
rose_disconnect(s, ENETUNREACH, ROSE_OUT_OF_ORDER, 0);
@@ -247,7 +230,7 @@ static struct sock *rose_find_listener(rose_address *addr, ax25_address *call)
spin_lock_bh(&rose_list_lock);
sk_for_each(s, node, &rose_list) {
- rose_cb *rose = rose_sk(s);
+ struct rose_sock *rose = rose_sk(s);
if (!rosecmp(&rose->source_addr, addr) &&
!ax25cmp(&rose->source_call, call) &&
@@ -256,7 +239,7 @@ static struct sock *rose_find_listener(rose_address *addr, ax25_address *call)
}
sk_for_each(s, node, &rose_list) {
- rose_cb *rose = rose_sk(s);
+ struct rose_sock *rose = rose_sk(s);
if (!rosecmp(&rose->source_addr, addr) &&
!ax25cmp(&rose->source_call, &null_ax25_address) &&
@@ -279,7 +262,7 @@ struct sock *rose_find_socket(unsigned int lci, struct rose_neigh *neigh)
spin_lock_bh(&rose_list_lock);
sk_for_each(s, node, &rose_list) {
- rose_cb *rose = rose_sk(s);
+ struct rose_sock *rose = rose_sk(s);
if (rose->lci == lci && rose->neighbour == neigh)
goto found;
@@ -372,7 +355,7 @@ static int rose_setsockopt(struct socket *sock, int level, int optname,
char __user *optval, int optlen)
{
struct sock *sk = sock->sk;
- rose_cb *rose = rose_sk(sk);
+ struct rose_sock *rose = rose_sk(sk);
int opt;
if (level != SOL_ROSE)
@@ -432,7 +415,7 @@ static int rose_getsockopt(struct socket *sock, int level, int optname,
char __user *optval, int __user *optlen)
{
struct sock *sk = sock->sk;
- rose_cb *rose = rose_sk(sk);
+ struct rose_sock *rose = rose_sk(sk);
int val = 0;
int len;
@@ -491,7 +474,7 @@ static int rose_listen(struct socket *sock, int backlog)
struct sock *sk = sock->sk;
if (sk->sk_state != TCP_LISTEN) {
- rose_cb *rose = rose_sk(sk);
+ struct rose_sock *rose = rose_sk(sk);
rose->dest_ndigis = 0;
memset(&rose->dest_addr, 0, ROSE_ADDR_LEN);
@@ -508,7 +491,7 @@ static int rose_listen(struct socket *sock, int backlog)
static int rose_create(struct socket *sock, int protocol)
{
struct sock *sk;
- rose_cb *rose;
+ struct rose_sock *rose;
if (sock->type != SOCK_SEQPACKET || protocol != 0)
return -ESOCKTNOSUPPORT;
@@ -547,7 +530,7 @@ static int rose_create(struct socket *sock, int protocol)
static struct sock *rose_make_new(struct sock *osk)
{
struct sock *sk;
- rose_cb *rose, *orose;
+ struct rose_sock *rose, *orose;
if (osk->sk_type != SOCK_SEQPACKET)
return NULL;
@@ -600,7 +583,7 @@ static struct sock *rose_make_new(struct sock *osk)
static int rose_release(struct socket *sock)
{
struct sock *sk = sock->sk;
- rose_cb *rose;
+ struct rose_sock *rose;
if (sk == NULL) return 0;
@@ -646,7 +629,7 @@ static int rose_release(struct socket *sock)
static int rose_bind(struct socket *sock, struct sockaddr *uaddr, int addr_len)
{
struct sock *sk = sock->sk;
- rose_cb *rose = rose_sk(sk);
+ struct rose_sock *rose = rose_sk(sk);
struct sockaddr_rose *addr = (struct sockaddr_rose *)uaddr;
struct net_device *dev;
ax25_address *user, *source;
@@ -705,7 +688,7 @@ static int rose_bind(struct socket *sock, struct sockaddr *uaddr, int addr_len)
static int rose_connect(struct socket *sock, struct sockaddr *uaddr, int addr_len, int flags)
{
struct sock *sk = sock->sk;
- rose_cb *rose = rose_sk(sk);
+ struct rose_sock *rose = rose_sk(sk);
struct sockaddr_rose *addr = (struct sockaddr_rose *)uaddr;
unsigned char cause, diagnostic;
ax25_address *user;
@@ -906,7 +889,7 @@ static int rose_getname(struct socket *sock, struct sockaddr *uaddr,
{
struct full_sockaddr_rose *srose = (struct full_sockaddr_rose *)uaddr;
struct sock *sk = sock->sk;
- rose_cb *rose = rose_sk(sk);
+ struct rose_sock *rose = rose_sk(sk);
int n;
if (peer != 0) {
@@ -935,7 +918,7 @@ int rose_rx_call_request(struct sk_buff *skb, struct net_device *dev, struct ros
{
struct sock *sk;
struct sock *make;
- rose_cb *make_rose;
+ struct rose_sock *make_rose;
struct rose_facilities_struct facilities;
int n, len;
@@ -958,7 +941,7 @@ int rose_rx_call_request(struct sk_buff *skb, struct net_device *dev, struct ros
/*
* We can't accept the Call Request.
*/
- if (!sk || sk->sk_ack_backlog == sk->sk_max_ack_backlog ||
+ if (sk == NULL || sk_acceptq_is_full(sk) ||
(make = rose_make_new(sk)) == NULL) {
rose_transmit_clear_request(neigh, lci, ROSE_NETWORK_CONGESTION, 120);
return 0;
@@ -1016,7 +999,7 @@ static int rose_sendmsg(struct kiocb *iocb, struct socket *sock,
struct msghdr *msg, size_t len)
{
struct sock *sk = sock->sk;
- rose_cb *rose = rose_sk(sk);
+ struct rose_sock *rose = rose_sk(sk);
struct sockaddr_rose *usrose = (struct sockaddr_rose *)msg->msg_name;
int err;
struct full_sockaddr_rose srose;
@@ -1186,7 +1169,7 @@ static int rose_recvmsg(struct kiocb *iocb, struct socket *sock,
struct msghdr *msg, size_t size, int flags)
{
struct sock *sk = sock->sk;
- rose_cb *rose = rose_sk(sk);
+ struct rose_sock *rose = rose_sk(sk);
struct sockaddr_rose *srose = (struct sockaddr_rose *)msg->msg_name;
size_t copied;
unsigned char *asmptr;
@@ -1251,7 +1234,7 @@ static int rose_recvmsg(struct kiocb *iocb, struct socket *sock,
static int rose_ioctl(struct socket *sock, unsigned int cmd, unsigned long arg)
{
struct sock *sk = sock->sk;
- rose_cb *rose = rose_sk(sk);
+ struct rose_sock *rose = rose_sk(sk);
void __user *argp = (void __user *)arg;
switch (cmd) {
@@ -1386,7 +1369,7 @@ static int rose_info_show(struct seq_file *seq, void *v)
else {
struct sock *s = v;
- rose_cb *rose = rose_sk(s);
+ struct rose_sock *rose = rose_sk(s);
const char *devname, *callsign;
const struct net_device *dev = rose->device;
diff --git a/net/rose/rose_in.c b/net/rose/rose_in.c
index c6aa8fba6a38..ef475a1bb1ba 100644
--- a/net/rose/rose_in.c
+++ b/net/rose/rose_in.c
@@ -41,7 +41,7 @@
*/
static int rose_state1_machine(struct sock *sk, struct sk_buff *skb, int frametype)
{
- rose_cb *rose = rose_sk(sk);
+ struct rose_sock *rose = rose_sk(sk);
switch (frametype) {
case ROSE_CALL_ACCEPTED:
@@ -78,7 +78,7 @@ static int rose_state1_machine(struct sock *sk, struct sk_buff *skb, int framety
*/
static int rose_state2_machine(struct sock *sk, struct sk_buff *skb, int frametype)
{
- rose_cb *rose = rose_sk(sk);
+ struct rose_sock *rose = rose_sk(sk);
switch (frametype) {
case ROSE_CLEAR_REQUEST:
@@ -106,7 +106,7 @@ static int rose_state2_machine(struct sock *sk, struct sk_buff *skb, int framety
*/
static int rose_state3_machine(struct sock *sk, struct sk_buff *skb, int frametype, int ns, int nr, int q, int d, int m)
{
- rose_cb *rose = rose_sk(sk);
+ struct rose_sock *rose = rose_sk(sk);
int queued = 0;
switch (frametype) {
@@ -216,7 +216,7 @@ static int rose_state3_machine(struct sock *sk, struct sk_buff *skb, int framety
*/
static int rose_state4_machine(struct sock *sk, struct sk_buff *skb, int frametype)
{
- rose_cb *rose = rose_sk(sk);
+ struct rose_sock *rose = rose_sk(sk);
switch (frametype) {
case ROSE_RESET_REQUEST:
@@ -265,7 +265,7 @@ static int rose_state5_machine(struct sock *sk, struct sk_buff *skb, int framety
/* Higher level upcall for a LAPB frame */
int rose_process_rx_frame(struct sock *sk, struct sk_buff *skb)
{
- rose_cb *rose = rose_sk(sk);
+ struct rose_sock *rose = rose_sk(sk);
int queued = 0, frametype, ns, nr, q, d, m;
if (rose->state == ROSE_STATE_0)
diff --git a/net/rose/rose_out.c b/net/rose/rose_out.c
index 5e5d4c4b459c..2965ffc83b9b 100644
--- a/net/rose/rose_out.c
+++ b/net/rose/rose_out.c
@@ -33,7 +33,7 @@
*/
static void rose_send_iframe(struct sock *sk, struct sk_buff *skb)
{
- rose_cb *rose = rose_sk(sk);
+ struct rose_sock *rose = rose_sk(sk);
if (skb == NULL)
return;
@@ -48,7 +48,7 @@ static void rose_send_iframe(struct sock *sk, struct sk_buff *skb)
void rose_kick(struct sock *sk)
{
- rose_cb *rose = rose_sk(sk);
+ struct rose_sock *rose = rose_sk(sk);
struct sk_buff *skb, *skbn;
unsigned short start, end;
@@ -112,7 +112,7 @@ void rose_kick(struct sock *sk)
void rose_enquiry_response(struct sock *sk)
{
- rose_cb *rose = rose_sk(sk);
+ struct rose_sock *rose = rose_sk(sk);
if (rose->condition & ROSE_COND_OWN_RX_BUSY)
rose_write_internal(sk, ROSE_RNR);
diff --git a/net/rose/rose_route.c b/net/rose/rose_route.c
index d19d931a1a75..ff73ebb912b8 100644
--- a/net/rose/rose_route.c
+++ b/net/rose/rose_route.c
@@ -899,7 +899,8 @@ int rose_route_frame(struct sk_buff *skb, ax25_cb *ax25)
*/
if ((sk = rose_find_socket(lci, rose_neigh)) != NULL) {
if (frametype == ROSE_CALL_REQUEST) {
- rose_cb *rose = rose_sk(sk);
+ struct rose_sock *rose = rose_sk(sk);
+
/* Remove an existing unused socket */
rose_clear_queues(sk);
rose->cause = ROSE_NETWORK_CONGESTION;
diff --git a/net/rose/rose_subr.c b/net/rose/rose_subr.c
index e2cd9d8c9b5b..7db7e1cedc3a 100644
--- a/net/rose/rose_subr.c
+++ b/net/rose/rose_subr.c
@@ -28,7 +28,7 @@
#include <linux/interrupt.h>
#include <net/rose.h>
-static int rose_create_facilities(unsigned char *buffer, rose_cb *rose);
+static int rose_create_facilities(unsigned char *buffer, struct rose_sock *rose);
/*
* This routine purges all of the queues of frames.
@@ -47,7 +47,7 @@ void rose_clear_queues(struct sock *sk)
void rose_frames_acked(struct sock *sk, unsigned short nr)
{
struct sk_buff *skb;
- rose_cb *rose = rose_sk(sk);
+ struct rose_sock *rose = rose_sk(sk);
/*
* Remove all the ack-ed frames from the ack queue.
@@ -85,7 +85,7 @@ void rose_requeue_frames(struct sock *sk)
*/
int rose_validate_nr(struct sock *sk, unsigned short nr)
{
- rose_cb *rose = rose_sk(sk);
+ struct rose_sock *rose = rose_sk(sk);
unsigned short vc = rose->va;
while (vc != rose->vs) {
@@ -102,7 +102,7 @@ int rose_validate_nr(struct sock *sk, unsigned short nr)
*/
void rose_write_internal(struct sock *sk, int frametype)
{
- rose_cb *rose = rose_sk(sk);
+ struct rose_sock *rose = rose_sk(sk);
struct sk_buff *skb;
unsigned char *dptr;
unsigned char lci1, lci2;
@@ -396,7 +396,7 @@ int rose_parse_facilities(unsigned char *p,
return 1;
}
-static int rose_create_facilities(unsigned char *buffer, rose_cb *rose)
+static int rose_create_facilities(unsigned char *buffer, struct rose_sock *rose)
{
unsigned char *p = buffer + 1;
char *callsign;
@@ -492,7 +492,7 @@ static int rose_create_facilities(unsigned char *buffer, rose_cb *rose)
void rose_disconnect(struct sock *sk, int reason, int cause, int diagnostic)
{
- rose_cb *rose = rose_sk(sk);
+ struct rose_sock *rose = rose_sk(sk);
rose_stop_timer(sk);
rose_stop_idletimer(sk);
diff --git a/net/rose/rose_timer.c b/net/rose/rose_timer.c
index 638bb1f58560..84dd4403f792 100644
--- a/net/rose/rose_timer.c
+++ b/net/rose/rose_timer.c
@@ -46,7 +46,7 @@ void rose_start_heartbeat(struct sock *sk)
void rose_start_t1timer(struct sock *sk)
{
- rose_cb *rose = rose_sk(sk);
+ struct rose_sock *rose = rose_sk(sk);
del_timer(&rose->timer);
@@ -59,7 +59,7 @@ void rose_start_t1timer(struct sock *sk)
void rose_start_t2timer(struct sock *sk)
{
- rose_cb *rose = rose_sk(sk);
+ struct rose_sock *rose = rose_sk(sk);
del_timer(&rose->timer);
@@ -72,7 +72,7 @@ void rose_start_t2timer(struct sock *sk)
void rose_start_t3timer(struct sock *sk)
{
- rose_cb *rose = rose_sk(sk);
+ struct rose_sock *rose = rose_sk(sk);
del_timer(&rose->timer);
@@ -85,7 +85,7 @@ void rose_start_t3timer(struct sock *sk)
void rose_start_hbtimer(struct sock *sk)
{
- rose_cb *rose = rose_sk(sk);
+ struct rose_sock *rose = rose_sk(sk);
del_timer(&rose->timer);
@@ -98,7 +98,7 @@ void rose_start_hbtimer(struct sock *sk)
void rose_start_idletimer(struct sock *sk)
{
- rose_cb *rose = rose_sk(sk);
+ struct rose_sock *rose = rose_sk(sk);
del_timer(&rose->idletimer);
@@ -129,7 +129,7 @@ void rose_stop_idletimer(struct sock *sk)
static void rose_heartbeat_expiry(unsigned long param)
{
struct sock *sk = (struct sock *)param;
- rose_cb *rose = rose_sk(sk);
+ struct rose_sock *rose = rose_sk(sk);
bh_lock_sock(sk);
switch (rose->state) {
@@ -166,7 +166,7 @@ static void rose_heartbeat_expiry(unsigned long param)
static void rose_timer_expiry(unsigned long param)
{
struct sock *sk = (struct sock *)param;
- rose_cb *rose = rose_sk(sk);
+ struct rose_sock *rose = rose_sk(sk);
bh_lock_sock(sk);
switch (rose->state) {
diff --git a/net/sched/cls_fw.c b/net/sched/cls_fw.c
index fdfc83af3d1f..b38af11f3935 100644
--- a/net/sched/cls_fw.c
+++ b/net/sched/cls_fw.c
@@ -338,8 +338,9 @@ static int fw_dump(struct tcf_proto *tp, unsigned long fh,
rta->rta_len = skb->tail - b;
- if (tcf_exts_dump_stats(skb, &f->exts, &fw_ext_map) < 0)
- goto rtattr_failure;
+ if (f->exts.action && f->exts.action->type == TCA_OLD_COMPAT)
+ if (tcf_exts_dump_stats(skb, &f->exts, &fw_ext_map) < 0)
+ goto rtattr_failure;
return skb->len;
diff --git a/net/sched/cls_route.c b/net/sched/cls_route.c
index 02996ac05c75..32cfa1043d88 100644
--- a/net/sched/cls_route.c
+++ b/net/sched/cls_route.c
@@ -599,8 +599,9 @@ static int route4_dump(struct tcf_proto *tp, unsigned long fh,
rta->rta_len = skb->tail - b;
- if (tcf_exts_dump_stats(skb, &f->exts, &route_ext_map) < 0)
- goto rtattr_failure;
+ if (f->exts.action && f->exts.action->type == TCA_OLD_COMPAT)
+ if (tcf_exts_dump_stats(skb, &f->exts, &route_ext_map) < 0)
+ goto rtattr_failure;
return skb->len;
diff --git a/net/sched/cls_tcindex.c b/net/sched/cls_tcindex.c
index 404d9d83a7fa..d746598906d5 100644
--- a/net/sched/cls_tcindex.c
+++ b/net/sched/cls_tcindex.c
@@ -496,8 +496,9 @@ static int tcindex_dump(struct tcf_proto *tp, unsigned long fh,
goto rtattr_failure;
rta->rta_len = skb->tail-b;
- if (tcf_exts_dump_stats(skb, &r->exts, &tcindex_ext_map) < 0)
- goto rtattr_failure;
+ if (r->exts.action && r->exts.action->type == TCA_OLD_COMPAT)
+ if (tcf_exts_dump_stats(skb, &r->exts, &tcindex_ext_map) < 0)
+ goto rtattr_failure;
}
return skb->len;
diff --git a/net/sched/cls_u32.c b/net/sched/cls_u32.c
index 364b87d86455..550058c0cb5f 100644
--- a/net/sched/cls_u32.c
+++ b/net/sched/cls_u32.c
@@ -775,7 +775,7 @@ static int u32_dump(struct tcf_proto *tp, unsigned long fh,
}
rta->rta_len = skb->tail - b;
- if (TC_U32_KEY(n->handle))
+ if (TC_U32_KEY(n->handle) && n->exts.action && n->exts.action->type == TCA_OLD_COMPAT)
if (tcf_exts_dump_stats(skb, &n->exts, &u32_ext_map) < 0)
goto rtattr_failure;
return skb->len;
diff --git a/net/sctp/sm_statefuns.c b/net/sctp/sm_statefuns.c
index 9b1b95939b62..278c56a2d076 100644
--- a/net/sctp/sm_statefuns.c
+++ b/net/sctp/sm_statefuns.c
@@ -268,7 +268,7 @@ sctp_disposition_t sctp_sf_do_5_1B_init(const struct sctp_endpoint *ep,
*/
if (!sctp_sstate(sk, LISTENING) ||
(sctp_style(sk, TCP) &&
- (sk->sk_ack_backlog >= sk->sk_max_ack_backlog)))
+ sk_acceptq_is_full(sk)))
return sctp_sf_tabort_8_4_8(ep, asoc, type, arg, commands);
/* 3.1 A packet containing an INIT chunk MUST have a zero Verification
diff --git a/net/socket.c b/net/socket.c
index 97ef5088646a..f2391d68fad3 100644
--- a/net/socket.c
+++ b/net/socket.c
@@ -993,8 +993,7 @@ static int sock_fasync(int fd, struct file *filp, int on)
sock = SOCKET_I(filp->f_dentry->d_inode);
if ((sk=sock->sk) == NULL) {
- if (fna)
- kfree(fna);
+ kfree(fna);
return -EINVAL;
}
diff --git a/net/x25/af_x25.c b/net/x25/af_x25.c
index ab367b36d8f0..e05189a7f85f 100644
--- a/net/x25/af_x25.c
+++ b/net/x25/af_x25.c
@@ -859,7 +859,7 @@ int x25_rx_call_request(struct sk_buff *skb, struct x25_neigh *nb,
/*
* We can't accept the Call Request.
*/
- if (!sk || sk->sk_ack_backlog == sk->sk_max_ack_backlog)
+ if (sk == NULL || sk_acceptq_is_full(sk))
goto out_clear_request;
/*
diff --git a/net/xfrm/xfrm_policy.c b/net/xfrm/xfrm_policy.c
index 83270094a95f..fbf827061925 100644
--- a/net/xfrm/xfrm_policy.c
+++ b/net/xfrm/xfrm_policy.c
@@ -301,18 +301,22 @@ static void xfrm_policy_gc_task(void *data)
static void xfrm_policy_kill(struct xfrm_policy *policy)
{
write_lock_bh(&policy->lock);
- if (policy->dead)
- goto out;
-
+ if (policy->dead) {
+ write_unlock_bh(&policy->lock);
+ return;
+ }
policy->dead = 1;
spin_lock(&xfrm_policy_gc_lock);
list_add(&policy->list, &xfrm_policy_gc_list);
+ /*
+ * Unlock the policy (out of order unlocking), to make sure
+ * the GC context does not free it with an active lock:
+ */
+ write_unlock_bh(&policy->lock);
spin_unlock(&xfrm_policy_gc_lock);
- schedule_work(&xfrm_policy_gc_work);
-out:
- write_unlock_bh(&policy->lock);
+ schedule_work(&xfrm_policy_gc_work);
}
/* Generate new index... KAME seems to generate them ordered by cost