Signed-off-by: Andrew Morton <akpm@osdl.org>
---

 /dev/null                                     |  390 --------------------------
 25-akpm/drivers/atm/ambassador.c              |    8 
 25-akpm/drivers/atm/ambassador.h              |  100 +++---
 25-akpm/drivers/atm/lanai.c                   |    1 
 25-akpm/drivers/atm/nicstar.c                 |    4 
 25-akpm/drivers/atm/nicstar.h                 |    4 
 25-akpm/drivers/atm/zatm.c                    |    2 
 25-akpm/drivers/bluetooth/hci_vhci.c          |    7 
 25-akpm/drivers/net/Kconfig                   |   23 -
 25-akpm/drivers/net/Makefile                  |    1 
 25-akpm/drivers/net/bonding/bond_main.c       |    4 
 25-akpm/drivers/net/eql.c                     |    4 
 25-akpm/drivers/net/irda/act200l-sir.c        |    2 
 25-akpm/drivers/net/irda/act200l.c            |    9 
 25-akpm/drivers/net/irda/actisys.c            |    5 
 25-akpm/drivers/net/irda/ali-ircc.c           |   68 ++--
 25-akpm/drivers/net/irda/donauboe.c           |   20 -
 25-akpm/drivers/net/irda/girbil-sir.c         |    4 
 25-akpm/drivers/net/irda/girbil.c             |    9 
 25-akpm/drivers/net/irda/irda-usb.c           |   76 ++---
 25-akpm/drivers/net/irda/irport.c             |   65 ++--
 25-akpm/drivers/net/irda/irtty-sir.c          |   56 +--
 25-akpm/drivers/net/irda/ma600-sir.c          |    6 
 25-akpm/drivers/net/irda/ma600.c              |    9 
 25-akpm/drivers/net/irda/mcp2120-sir.c        |    4 
 25-akpm/drivers/net/irda/mcp2120.c            |    9 
 25-akpm/drivers/net/irda/nsc-ircc.c           |   81 ++---
 25-akpm/drivers/net/irda/sir_dev.c            |   25 -
 25-akpm/drivers/net/irda/sir_kthread.c        |    8 
 25-akpm/drivers/net/irda/smsc-ircc2.c         |  148 +++++----
 25-akpm/drivers/net/irda/tekram-sir.c         |    2 
 25-akpm/drivers/net/irda/tekram.c             |   13 
 25-akpm/drivers/net/irda/via-ircc.c           |   42 +-
 25-akpm/drivers/net/irda/vlsi_ir.c            |  100 +++---
 25-akpm/drivers/net/irda/vlsi_ir.h            |    2 
 25-akpm/drivers/net/irda/w83977af_ir.c        |   28 -
 25-akpm/drivers/net/netconsole.c              |    1 
 25-akpm/drivers/net/tg3.c                     |  150 +++++-----
 25-akpm/drivers/net/tg3.h                     |    4 
 25-akpm/include/linux/netdevice.h             |    4 
 25-akpm/include/linux/netpoll.h               |   35 ++
 25-akpm/include/net/ip_mp_alg.h               |    8 
 25-akpm/include/net/irda/irda.h               |   29 +
 25-akpm/include/net/netrom.h                  |    9 
 25-akpm/include/net/rose.h                    |   10 
 25-akpm/net/Kconfig                           |    9 
 25-akpm/net/atm/common.c                      |   17 -
 25-akpm/net/atm/lec.c                         |   88 +++--
 25-akpm/net/atm/lec.h                         |   17 -
 25-akpm/net/atm/lec_arpc.h                    |   24 -
 25-akpm/net/atm/mpc.c                         |    6 
 25-akpm/net/atm/mpc.h                         |    4 
 25-akpm/net/atm/pppoatm.c                     |    2 
 25-akpm/net/atm/protocols.h                   |    2 
 25-akpm/net/atm/raw.c                         |    2 
 25-akpm/net/atm/signaling.c                   |    3 
 25-akpm/net/ax25/ax25_in.c                    |    2 
 25-akpm/net/bluetooth/l2cap.c                 |    5 
 25-akpm/net/bluetooth/rfcomm/core.c           |    2 
 25-akpm/net/bluetooth/rfcomm/sock.c           |    5 
 25-akpm/net/bluetooth/sco.c                   |    3 
 25-akpm/net/bridge/br.c                       |    9 
 25-akpm/net/bridge/br_private.h               |    6 
 25-akpm/net/core/dev.c                        |   25 -
 25-akpm/net/core/netpoll.c                    |  207 ++++++++-----
 25-akpm/net/decnet/dn_nsp_in.c                |    2 
 25-akpm/net/ipv4/ip_output.c                  |    5 
 25-akpm/net/ipv4/multipath.c                  |    5 
 25-akpm/net/ipv4/multipath_wrandom.c          |    4 
 25-akpm/net/ipv4/route.c                      |   15 -
 25-akpm/net/ipv4/tcp_input.c                  |    5 
 25-akpm/net/irda/af_irda.c                    |   72 ++--
 25-akpm/net/irda/discovery.c                  |   10 
 25-akpm/net/irda/ircomm/ircomm_core.c         |   48 +--
 25-akpm/net/irda/ircomm/ircomm_lmp.c          |   39 +-
 25-akpm/net/irda/ircomm/ircomm_param.c        |   50 +--
 25-akpm/net/irda/ircomm/ircomm_ttp.c          |   42 +-
 25-akpm/net/irda/ircomm/ircomm_tty.c          |   92 +++---
 25-akpm/net/irda/ircomm/ircomm_tty_attach.c   |   63 ++--
 25-akpm/net/irda/ircomm/ircomm_tty_ioctl.c    |    6 
 25-akpm/net/irda/irda_device.c                |   36 +-
 25-akpm/net/irda/iriap.c                      |  109 +++----
 25-akpm/net/irda/iriap_event.c                |   56 +--
 25-akpm/net/irda/irias_object.c               |   98 +++---
 25-akpm/net/irda/irlan/irlan_client.c         |   72 ++--
 25-akpm/net/irda/irlan/irlan_client_event.c   |   37 +-
 25-akpm/net/irda/irlan/irlan_common.c         |   80 ++---
 25-akpm/net/irda/irlan/irlan_eth.c            |   16 -
 25-akpm/net/irda/irlan/irlan_event.c          |    8 
 25-akpm/net/irda/irlan/irlan_filter.c         |    8 
 25-akpm/net/irda/irlan/irlan_provider.c       |   42 +-
 25-akpm/net/irda/irlan/irlan_provider_event.c |   12 
 25-akpm/net/irda/irlap.c                      |  137 ++++-----
 25-akpm/net/irda/irlap_event.c                |   99 +++---
 25-akpm/net/irda/irlap_frame.c                |   79 ++---
 25-akpm/net/irda/irlmp.c                      |  187 ++++++------
 25-akpm/net/irda/irlmp_event.c                |   88 ++---
 25-akpm/net/irda/irlmp_frame.c                |   38 +-
 25-akpm/net/irda/irqueue.c                    |   32 +-
 25-akpm/net/irda/irttp.c                      |  150 +++++-----
 25-akpm/net/irda/parameters.c                 |   50 +--
 25-akpm/net/irda/qos.c                        |   48 +--
 25-akpm/net/irda/timer.c                      |   22 -
 25-akpm/net/irda/wrapper.c                    |    8 
 25-akpm/net/netlink/Makefile                  |    1 
 25-akpm/net/netlink/af_netlink.c              |   24 -
 25-akpm/net/netrom/af_netrom.c                |   47 +--
 25-akpm/net/netrom/nr_in.c                    |    8 
 25-akpm/net/netrom/nr_out.c                   |   14 
 25-akpm/net/netrom/nr_subr.c                  |   10 
 25-akpm/net/netrom/nr_timer.c                 |   18 -
 25-akpm/net/rose/af_rose.c                    |   59 +--
 25-akpm/net/rose/rose_in.c                    |   10 
 25-akpm/net/rose/rose_out.c                   |    6 
 25-akpm/net/rose/rose_route.c                 |    3 
 25-akpm/net/rose/rose_subr.c                  |   12 
 25-akpm/net/rose/rose_timer.c                 |   14 
 25-akpm/net/sctp/sm_statefuns.c               |    2 
 25-akpm/net/socket.c                          |    3 
 25-akpm/net/x25/af_x25.c                      |    2 
 net/netlink/netlink_dev.c                     |    0 
 121 files changed, 1943 insertions(+), 2287 deletions(-)

diff -puN drivers/atm/ambassador.c~bk-net drivers/atm/ambassador.c
--- 25/drivers/atm/ambassador.c~bk-net	2005-03-23 21:04:56.000000000 -0800
+++ 25-akpm/drivers/atm/ambassador.c	2005-03-23 21:04:56.000000000 -0800
@@ -345,7 +345,7 @@ static inline u32 rd_plain (const amb_de
 }
 
 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
 
 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_
 
 /********** 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 -puN drivers/atm/ambassador.h~bk-net drivers/atm/ambassador.h
--- 25/drivers/atm/ambassador.h~bk-net	2005-03-23 21:04:56.000000000 -0800
+++ 25-akpm/drivers/atm/ambassador.h	2005-03-23 21:04:56.000000000 -0800
@@ -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 -puN drivers/atm/lanai.c~bk-net drivers/atm/lanai.c
--- 25/drivers/atm/lanai.c~bk-net	2005-03-23 21:04:56.000000000 -0800
+++ 25-akpm/drivers/atm/lanai.c	2005-03-23 21:04:56.000000000 -0800
@@ -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 -puN drivers/atm/nicstar.c~bk-net drivers/atm/nicstar.c
--- 25/drivers/atm/nicstar.c~bk-net	2005-03-23 21:04:56.000000000 -0800
+++ 25-akpm/drivers/atm/nicstar.c	2005-03-23 21:04:56.000000000 -0800
@@ -350,7 +350,7 @@ static void __devexit nicstar_remove_one
    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
    }
    if (error >= 4)
    {
-      iounmap((void *) card->membase);
+      iounmap(card->membase);
    }
    if (error >= 3)
    {
diff -puN drivers/atm/nicstar.h~bk-net drivers/atm/nicstar.h
--- 25/drivers/atm/nicstar.h~bk-net	2005-03-23 21:04:56.000000000 -0800
+++ 25-akpm/drivers/atm/nicstar.h	2005-03-23 21:04:56.000000000 -0800
@@ -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 -puN drivers/atm/zatm.c~bk-net drivers/atm/zatm.c
--- 25/drivers/atm/zatm.c~bk-net	2005-03-23 21:04:56.000000000 -0800
+++ 25-akpm/drivers/atm/zatm.c	2005-03-23 21:04:56.000000000 -0800
@@ -411,7 +411,7 @@ printk("[-3..0] 0x%08lx 0x%08lx 0x%08lx 
 #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 -puN drivers/bluetooth/hci_vhci.c~bk-net drivers/bluetooth/hci_vhci.c
--- 25/drivers/bluetooth/hci_vhci.c~bk-net	2005-03-23 21:04:56.000000000 -0800
+++ 25-akpm/drivers/bluetooth/hci_vhci.c	2005-03-23 21:04:56.000000000 -0800
@@ -308,12 +308,13 @@ static int hci_vhci_chr_open(struct inod
 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 -puN drivers/net/bonding/bond_main.c~bk-net drivers/net/bonding/bond_main.c
--- 25/drivers/net/bonding/bond_main.c~bk-net	2005-03-23 21:04:56.000000000 -0800
+++ 25-akpm/drivers/net/bonding/bond_main.c	2005-03-23 21:04:56.000000000 -0800
@@ -4297,6 +4297,10 @@ static int __init bond_init(struct net_d
 	 */
 	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 -puN drivers/net/eql.c~bk-net drivers/net/eql.c
--- 25/drivers/net/eql.c~bk-net	2005-03-23 21:04:56.000000000 -0800
+++ 25-akpm/drivers/net/eql.c	2005-03-23 21:04:56.000000000 -0800
@@ -499,8 +499,6 @@ static int eql_g_slave_cfg(struct net_de
 		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_de
 		return -ENODEV;
 
 	ret = -EINVAL;
-	if (!slave_dev)
-		return ret;
 
 	eql = netdev_priv(dev);
 	spin_lock_bh(&eql->queue.lock);
diff -L drivers/net/ethertap.c -puN drivers/net/ethertap.c~bk-net /dev/null
--- 25/drivers/net/ethertap.c
+++ /dev/null	2003-09-15 06:40:47.000000000 -0700
@@ -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 -puN drivers/net/irda/act200l.c~bk-net drivers/net/irda/act200l.c
--- 25/drivers/net/irda/act200l.c~bk-net	2005-03-23 21:04:56.000000000 -0800
+++ 25-akpm/drivers/net/irda/act200l.c	2005-03-23 21:04:56.000000000 -0800
@@ -152,7 +152,8 @@ static int act200l_change_speed(struct i
 		}
 		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 i
 		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_tas
 		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 -puN drivers/net/irda/act200l-sir.c~bk-net drivers/net/irda/act200l-sir.c
--- 25/drivers/net/irda/act200l-sir.c~bk-net	2005-03-23 21:04:56.000000000 -0800
+++ 25-akpm/drivers/net/irda/act200l-sir.c	2005-03-23 21:04:56.000000000 -0800
@@ -240,7 +240,7 @@ static int act200l_reset(struct sir_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 -puN drivers/net/irda/actisys.c~bk-net drivers/net/irda/actisys.c
--- 25/drivers/net/irda/actisys.c~bk-net	2005-03-23 21:04:56.000000000 -0800
+++ 25-akpm/drivers/net/irda/actisys.c	2005-03-23 21:04:56.000000000 -0800
@@ -227,7 +227,7 @@ static int actisys_reset(struct irda_tas
 	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_tas
 		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 -puN drivers/net/irda/ali-ircc.c~bk-net drivers/net/irda/ali-ircc.c
--- 25/drivers/net/irda/ali-ircc.c~bk-net	2005-03-23 21:04:56.000000000 -0800
+++ 25-akpm/drivers/net/irda/ali-ircc.c	2005-03-23 21:04:56.000000000 -0800
@@ -260,7 +260,8 @@ static int ali_ircc_open(int i, chipio_t
 		
 	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
 	
 	/* 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
 
 	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 
 
 	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 
 	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(in
 	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 
 	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(st
 	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(st
 
 	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(st
 	
 	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_
 		
 	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_
 	 * 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
 			
 	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(s
 	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_complet
 			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
 	
 	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
 	
 	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 
 	
 	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_
 {
 	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_i
 	
 	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 -puN drivers/net/irda/donauboe.c~bk-net drivers/net/irda/donauboe.c
--- 25/drivers/net/irda/donauboe.c~bk-net	2005-03-23 21:04:56.000000000 -0800
+++ 25-akpm/drivers/net/irda/donauboe.c	2005-03-23 21:04:56.000000000 -0800
@@ -587,9 +587,9 @@ toshoboe_startchip (struct toshoboe_cb *
   /*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,
 
   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 *de
 
   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 *d
 
   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 *d
   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 -puN drivers/net/irda/girbil.c~bk-net drivers/net/irda/girbil.c
--- 25/drivers/net/irda/girbil.c~bk-net	2005-03-23 21:04:56.000000000 -0800
+++ 25-akpm/drivers/net/irda/girbil.c	2005-03-23 21:04:56.000000000 -0800
@@ -123,7 +123,8 @@ static int girbil_change_speed(struct ir
 		}
 		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 ir
 		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
 		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 -puN drivers/net/irda/girbil-sir.c~bk-net drivers/net/irda/girbil-sir.c
--- 25/drivers/net/irda/girbil-sir.c~bk-net	2005-03-23 21:04:56.000000000 -0800
+++ 25-akpm/drivers/net/irda/girbil-sir.c	2005-03-23 21:04:56.000000000 -0800
@@ -179,7 +179,7 @@ static int girbil_change_speed(struct si
 		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 *
 		break;
 
 	default:
-		ERROR("%s(), undefined state %d\n", __FUNCTION__, state);
+		IRDA_ERROR("%s(), undefined state %d\n", __FUNCTION__, state);
 		ret = -1;
 		break;
 	}
diff -puN drivers/net/irda/irda-usb.c~bk-net drivers/net/irda/irda-usb.c
--- 25/drivers/net/irda/irda-usb.c~bk-net	2005-03-23 21:04:56.000000000 -0800
+++ 25-akpm/drivers/net/irda/irda-usb.c	2005-03-23 21:04:56.000000000 -0800
@@ -251,7 +251,7 @@ static void irda_usb_change_speed_xbofs(
 	/* 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(
 
 	/* 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 u
 	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_
 	}
 
 	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_
 	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_
 	
 	/* 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 u
 	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 
 	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_
 	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_
 	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 
 	
 	/* 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 
 	
 	/* 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_
 	
 	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_
 	 */
 	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_
 		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
 
 	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
 	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_endpoin
 				/* 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_endpoin
 	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 *ir
 	
 	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_int
 	 * 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_int
 	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_int
 	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 -puN drivers/net/irda/irport.c~bk-net drivers/net/irda/irport.c
--- 25/drivers/net/irda/irport.c~bk-net	2005-03-23 21:04:56.000000000 -0800
+++ 25-akpm/drivers/net/irda/irport.c	2005-03-23 21:04:56.000000000 -0800
@@ -114,8 +114,8 @@ irport_open(int i, unsigned int iobase, 
 	 */
 	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, 
 	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, 
 		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, 
 	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, 
 
 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 *pr
 	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_ta
 
 	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_ta
 			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_ta
 		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(
 
 	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_de
 	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_bu
 
 	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(s
 	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
 	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 
 	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 
 
 		/* 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_de
 
 	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_d
 
 	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
 	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_d
 	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_d
 	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 -puN drivers/net/irda/irtty-sir.c~bk-net drivers/net/irda/irtty-sir.c
--- 25/drivers/net/irda/irtty-sir.c~bk-net	2005-03-23 21:04:56.000000000 -0800
+++ 25-akpm/drivers/net/irda/irtty-sir.c	2005-03-23 21:04:56.000000000 -0800
@@ -60,8 +60,8 @@ static int irtty_chars_in_buffer(struct 
 {
 	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
 	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
         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_
 	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_
 	 * 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
 	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 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 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 tt
 {
 	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
 	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
 		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_struc
 {
 	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(voi
 	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 -puN drivers/net/irda/ma600.c~bk-net drivers/net/irda/ma600.c
--- 25/drivers/net/irda/ma600.c~bk-net	2005-03-23 21:04:56.000000000 -0800
+++ 25-akpm/drivers/net/irda/ma600.c	2005-03-23 21:04:56.000000000 -0800
@@ -209,7 +209,8 @@ static int ma600_change_speed(struct ird
 		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 ird
 		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 -puN drivers/net/irda/ma600-sir.c~bk-net drivers/net/irda/ma600-sir.c
--- 25/drivers/net/irda/ma600-sir.c~bk-net	2005-03-23 21:04:56.000000000 -0800
+++ 25-akpm/drivers/net/irda/ma600-sir.c	2005-03-23 21:04:56.000000000 -0800
@@ -201,9 +201,9 @@ static int ma600_change_speed(struct sir
 
 	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 -puN drivers/net/irda/mcp2120.c~bk-net drivers/net/irda/mcp2120.c
--- 25/drivers/net/irda/mcp2120.c~bk-net	2005-03-23 21:04:56.000000000 -0800
+++ 25-akpm/drivers/net/irda/mcp2120.c	2005-03-23 21:04:56.000000000 -0800
@@ -103,7 +103,8 @@ static int mcp2120_change_speed(struct i
 		}
 		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 i
                 //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_tas
 		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 -puN drivers/net/irda/mcp2120-sir.c~bk-net drivers/net/irda/mcp2120-sir.c
--- 25/drivers/net/irda/mcp2120-sir.c~bk-net	2005-03-23 21:04:56.000000000 -0800
+++ 25-akpm/drivers/net/irda/mcp2120-sir.c	2005-03-23 21:04:56.000000000 -0800
@@ -155,7 +155,7 @@ static int mcp2120_change_speed(struct s
 		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 
 		break;
 
 	default:
-		ERROR("%s(), undefined state %d\n", __FUNCTION__, state);
+		IRDA_ERROR("%s(), undefined state %d\n", __FUNCTION__, state);
 		ret = -EINVAL;
 		break;
 	}
diff -puN drivers/net/irda/nsc-ircc.c~bk-net drivers/net/irda/nsc-ircc.c
--- 25/drivers/net/irda/nsc-ircc.c~bk-net	2005-03-23 21:04:56.000000000 -0800
+++ 25-akpm/drivers/net/irda/nsc-ircc.c	2005-03-23 21:04:56.000000000 -0800
@@ -250,18 +250,18 @@ static int __init nsc_ircc_open(int i, c
 
 	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, c
 	/* 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, c
 
 	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 
 
 	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 
 	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 
 	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 
 	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
 
 	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
 	
 	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
 
 			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(struc
 					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(in
 	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 
 	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_
 	
 	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_
 	 * 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
 
 	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
 	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
 
 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_i
 	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 -puN drivers/net/irda/sir_dev.c~bk-net drivers/net/irda/sir_dev.c
--- 25/drivers/net/irda/sir_dev.c~bk-net	2005-03-23 21:04:56.000000000 -0800
+++ 25-akpm/drivers/net/irda/sir_dev.c	2005-03-23 21:04:56.000000000 -0800
@@ -154,7 +154,8 @@ void sirdev_write_complete(struct sir_de
 		}
 		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_de
 			/* 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_bu
 	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_bu
 	}
 	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_devic
 	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(con
 	 */
 	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(con
 	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 *
 	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 -puN drivers/net/irda/sir_kthread.c~bk-net drivers/net/irda/sir_kthread.c
--- 25/drivers/net/irda/sir_kthread.c~bk-net	2005-03-23 21:04:56.000000000 -0800
+++ 25-akpm/drivers/net/irda/sir_kthread.c	2005-03-23 21:04:56.000000000 -0800
@@ -222,7 +222,7 @@ static int irda_tx_complete_fsm(struct s
 			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_d
 
 	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 -puN drivers/net/irda/smsc-ircc2.c~bk-net drivers/net/irda/smsc-ircc2.c
--- 25/drivers/net/irda/smsc-ircc2.c~bk-net	2005-03-23 21:04:56.000000000 -0800
+++ 25-akpm/drivers/net/irda/smsc-ircc2.c	2005-03-23 21:04:56.000000000 -0800
@@ -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(unsigne
 		
 	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(unsigne
 	 */
 	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(unsigne
 		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(unsigne
 		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(unsigne
 
 	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(unsigne
 	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 in
 
 	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 in
 	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 sm
 
 	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 sm
 	
 	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 s
 {
 	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 ne
 	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
 
 	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_bu
 
 	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(stru
 {
 	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 s
 
 	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 sm
 
 	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 
 	
 	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,
 
 	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(struc
 	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_comple
 		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
 	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(i
 		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
 
 	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
 
 	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
 	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 ne
 
 	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 ne
 
 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
 
 	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
 
 	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_irc
 
 	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(s
 	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 iobas
 	
 	/* 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(
 {
 	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(cons
 	/*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(cons
 	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_i
 			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(unsig
 	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(unsig
 	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_sm
 	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 -puN drivers/net/irda/tekram.c~bk-net drivers/net/irda/tekram.c
--- 25/drivers/net/irda/tekram.c~bk-net	2005-03-23 21:04:56.000000000 -0800
+++ 25-akpm/drivers/net/irda/tekram.c	2005-03-23 21:04:56.000000000 -0800
@@ -109,7 +109,7 @@ static int tekram_change_speed(struct ir
 	
 	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 ir
 			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 ir
 		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 -puN drivers/net/irda/tekram-sir.c~bk-net drivers/net/irda/tekram-sir.c
--- 25/drivers/net/irda/tekram-sir.c~bk-net	2005-03-23 21:04:56.000000000 -0800
+++ 25-akpm/drivers/net/irda/tekram-sir.c	2005-03-23 21:04:56.000000000 -0800
@@ -179,7 +179,7 @@ static int tekram_change_speed(struct si
 		break;
 
 	default:
-		ERROR("%s - undefined state %d\n", __FUNCTION__, state);
+		IRDA_ERROR("%s - undefined state %d\n", __FUNCTION__, state);
 		ret = -EINVAL;
 		break;
 	}
diff -puN drivers/net/irda/via-ircc.c~bk-net drivers/net/irda/via-ircc.c
--- 25/drivers/net/irda/via-ircc.c~bk-net	2005-03-23 21:04:56.000000000 -0800
+++ 25-akpm/drivers/net/irda/via-ircc.c	2005-03-23 21:04:56.000000000 -0800
@@ -441,7 +441,7 @@ static __devinit int via_ircc_open(int i
 	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_irc
 
 	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 i
 {
 	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
 		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
 	__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(in
 	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 
 	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_
 
 	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_
 	 * 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
 
 	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
 	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 -puN drivers/net/irda/vlsi_ir.c~bk-net drivers/net/irda/vlsi_ir.c
--- 25/drivers/net/irda/vlsi_ir.c~bk-net	2005-03-23 21:04:56.000000000 -0800
+++ 25-akpm/drivers/net/irda/vlsi_ir.c	2005-03-23 21:04:56.000000000 -0800
@@ -435,8 +435,8 @@ static struct vlsi_ring *vlsi_alloc_ring
 		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_de
 
 	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_r
 	}
 
 	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_rin
 
 	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
 
 	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
 		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
 		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 s
 		 */
 
 		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 s
 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_d
 		}
 		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
 	/* 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_d
 		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 
 			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 ir
 	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 *
 	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 *
 
 	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 *
 
 	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 
 
 	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_dev
 
 	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, co
 	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, co
 		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, co
 
 		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, co
 		}
 		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(s
 	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(s
 
 	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_
 	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_
 			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_d
 	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_d
 		 * 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 -puN drivers/net/irda/vlsi_ir.h~bk-net drivers/net/irda/vlsi_ir.h
--- 25/drivers/net/irda/vlsi_ir.h~bk-net	2005-03-23 21:04:56.000000000 -0800
+++ 25-akpm/drivers/net/irda/vlsi_ir.h	2005-03-23 21:04:56.000000000 -0800
@@ -656,7 +656,7 @@ static inline void rd_set_addr_status(st
 	 */
 
 	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 -puN drivers/net/irda/w83977af_ir.c~bk-net drivers/net/irda/w83977af_ir.c
--- 25/drivers/net/irda/w83977af_ir.c~bk-net	2005-03-23 21:04:56.000000000 -0800
+++ 25-akpm/drivers/net/irda/w83977af_ir.c	2005-03-23 21:04:56.000000000 -0800
@@ -245,10 +245,10 @@ int w83977af_open(int i, unsigned int io
 
 	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,
 			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(s
 
 	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
 	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 
 
 	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 
 	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_
 	
 	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
 
 	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
 	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 -puN drivers/net/Kconfig~bk-net drivers/net/Kconfig
--- 25/drivers/net/Kconfig~bk-net	2005-03-23 21:04:56.000000000 -0800
+++ 25-akpm/drivers/net/Kconfig	2005-03-23 21:04:56.000000000 -0800
@@ -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 -puN drivers/net/Makefile~bk-net drivers/net/Makefile
--- 25/drivers/net/Makefile~bk-net	2005-03-23 21:04:56.000000000 -0800
+++ 25-akpm/drivers/net/Makefile	2005-03-23 21:04:56.000000000 -0800
@@ -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 -puN drivers/net/netconsole.c~bk-net drivers/net/netconsole.c
--- 25/drivers/net/netconsole.c~bk-net	2005-03-23 21:04:56.000000000 -0800
+++ 25-akpm/drivers/net/netconsole.c	2005-03-23 21:04:56.000000000 -0800
@@ -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 -puN drivers/net/tg3.c~bk-net drivers/net/tg3.c
--- 25/drivers/net/tg3.c~bk-net	2005-03-23 21:04:56.000000000 -0800
+++ 25-akpm/drivers/net/tg3.c	2005-03-23 21:04:56.000000000 -0800
@@ -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.
@@ -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
 		       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 *, i
 #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 tg
 				    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 tg
 		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 tg
 
 	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,
 		      (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
 
 	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(s
 			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 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, 
 	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 
 	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 *t
 		      (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 __op
 		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_d
 {
   	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_d
 		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_d
 {
 	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_d
 		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_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_
 	    (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_
 	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
 {
 	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
 		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(
 	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
 		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 -puN drivers/net/tg3.h~bk-net drivers/net/tg3.h
--- 25/drivers/net/tg3.h~bk-net	2005-03-23 21:04:56.000000000 -0800
+++ 25-akpm/drivers/net/tg3.h	2005-03-23 21:04:56.000000000 -0800
@@ -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 -puN include/linux/netdevice.h~bk-net include/linux/netdevice.h
--- 25/include/linux/netdevice.h~bk-net	2005-03-23 21:04:56.000000000 -0800
+++ 25-akpm/include/linux/netdevice.h	2005-03-23 21:04:56.000000000 -0800
@@ -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 -puN include/linux/netpoll.h~bk-net include/linux/netpoll.h
--- 25/include/linux/netpoll.h~bk-net	2005-03-23 21:04:56.000000000 -0800
+++ 25-akpm/include/linux/netpoll.h	2005-03-23 21:04:56.000000000 -0800
@@ -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 -puN include/net/ip_mp_alg.h~bk-net include/net/ip_mp_alg.h
--- 25/include/net/ip_mp_alg.h~bk-net	2005-03-23 21:04:56.000000000 -0800
+++ 25-akpm/include/net/ip_mp_alg.h	2005-03-23 21:04:56.000000000 -0800
@@ -36,6 +36,7 @@ static inline int multipath_select_route
 #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(
 #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(stru
 #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 -puN include/net/irda/irda.h~bk-net include/net/irda/irda.h
--- 25/include/net/irda/irda.h~bk-net	2005-03-23 21:04:56.000000000 -0800
+++ 25-akpm/include/net/irda/irda.h	2005-03-23 21:04:56.000000000 -0800
@@ -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 -puN include/net/netrom.h~bk-net include/net/netrom.h
--- 25/include/net/netrom.h~bk-net	2005-03-23 21:04:56.000000000 -0800
+++ 25-akpm/include/net/netrom.h	2005-03-23 21:04:56.000000000 -0800
@@ -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 -puN include/net/rose.h~bk-net include/net/rose.h
--- 25/include/net/rose.h~bk-net	2005-03-23 21:04:56.000000000 -0800
+++ 25-akpm/include/net/rose.h	2005-03-23 21:04:56.000000000 -0800
@@ -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 -puN net/atm/common.c~bk-net net/atm/common.c
--- 25/net/atm/common.c~bk-net	2005-03-23 21:04:56.000000000 -0800
+++ 25-akpm/net/atm/common.c	2005-03-23 21:04:56.000000000 -0800
@@ -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, 
 	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 -puN net/atm/lec_arpc.h~bk-net net/atm/lec_arpc.h
--- 25/net/atm/lec_arpc.h~bk-net	2005-03-23 21:04:56.000000000 -0800
+++ 25-akpm/net/atm/lec_arpc.h	2005-03-23 21:04:56.000000000 -0800
@@ -89,28 +89,4 @@ struct tlv {                   /* LANE2:
 #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 -puN net/atm/lec.c~bk-net net/atm/lec.c
--- 25/net/atm/lec.c~bk-net	2005-03-23 21:04:56.000000000 -0800
+++ 25-akpm/net/atm/lec.c	2005-03-23 21:04:56.000000000 -0800
@@ -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_devi
 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] =
 /* 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_
  * 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_
         }
 }
 
-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_b
 	}
 }
 
-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
         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, in
 }
 
 /* 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 
 
 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 *pri
 /*
  * 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, u
 /*
  * 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
         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 *p
 	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, str
 	dump_arp_table(priv);
 }
 
-void
+static void
 lec_arp_check_empties(struct lec_priv *priv,
                       struct atm_vcc *vcc, struct sk_buff *skb)
 {
diff -puN net/atm/lec.h~bk-net net/atm/lec.h
--- 25/net/atm/lec.h~bk-net	2005-03-23 21:04:56.000000000 -0800
+++ 25-akpm/net/atm/lec.h	2005-03-23 21:04:56.000000000 -0800
@@ -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 -puN net/atm/mpc.c~bk-net net/atm/mpc.c
--- 25/net/atm/mpc.c~bk-net	2005-03-23 21:04:56.000000000 -0800
+++ 25-akpm/net/atm/mpc.c	2005-03-23 21:04:56.000000000 -0800
@@ -564,7 +564,7 @@ static int mpc_send_packet(struct sk_buf
 	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 -puN net/atm/mpc.h~bk-net net/atm/mpc.h
--- 25/net/atm/mpc.h~bk-net	2005-03-23 21:04:56.000000000 -0800
+++ 25-akpm/net/atm/mpc.h	2005-03-23 21:04:56.000000000 -0800
@@ -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 -puN net/atm/pppoatm.c~bk-net net/atm/pppoatm.c
--- 25/net/atm/pppoatm.c~bk-net	2005-03-23 21:04:56.000000000 -0800
+++ 25-akpm/net/atm/pppoatm.c	2005-03-23 21:04:56.000000000 -0800
@@ -345,7 +345,7 @@ static int pppoatm_ioctl(struct socket *
 	return -ENOIOCTLCMD;
 }
 
-struct atm_ioctl pppoatm_ioctl_ops = {
+static struct atm_ioctl pppoatm_ioctl_ops = {
 	.owner	= THIS_MODULE,
 	.ioctl	= pppoatm_ioctl,
 };
diff -puN net/atm/protocols.h~bk-net net/atm/protocols.h
--- 25/net/atm/protocols.h~bk-net	2005-03-23 21:04:56.000000000 -0800
+++ 25-akpm/net/atm/protocols.h	2005-03-23 21:04:56.000000000 -0800
@@ -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 -puN net/atm/raw.c~bk-net net/atm/raw.c
--- 25/net/atm/raw.c~bk-net	2005-03-23 21:04:56.000000000 -0800
+++ 25-akpm/net/atm/raw.c	2005-03-23 21:04:56.000000000 -0800
@@ -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 -puN net/atm/signaling.c~bk-net net/atm/signaling.c
--- 25/net/atm/signaling.c~bk-net	2005-03-23 21:04:56.000000000 -0800
+++ 25-akpm/net/atm/signaling.c	2005-03-23 21:04:56.000000000 -0800
@@ -136,8 +136,7 @@ static int sigd_send(struct atm_vcc *vcc
 			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 -puN net/ax25/ax25_in.c~bk-net net/ax25/ax25_in.c
--- 25/net/ax25/ax25_in.c~bk-net	2005-03-23 21:04:56.000000000 -0800
+++ 25-akpm/net/ax25/ax25_in.c	2005-03-23 21:04:56.000000000 -0800
@@ -358,7 +358,7 @@ static int ax25_rcv(struct sk_buff *skb,
 
 	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 -puN net/bluetooth/l2cap.c~bk-net net/bluetooth/l2cap.c
--- 25/net/bluetooth/l2cap.c~bk-net	2005-03-23 21:04:56.000000000 -0800
+++ 25-akpm/net/bluetooth/l2cap.c	2005-03-23 21:04:56.000000000 -0800
@@ -264,9 +264,6 @@ static void l2cap_sock_destruct(struct s
 
 	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(stru
 	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 -puN net/bluetooth/rfcomm/core.c~bk-net net/bluetooth/rfcomm/core.c
--- 25/net/bluetooth/rfcomm/core.c~bk-net	2005-03-23 21:04:56.000000000 -0800
+++ 25-akpm/net/bluetooth/rfcomm/core.c	2005-03-23 21:04:56.000000000 -0800
@@ -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 -puN net/bluetooth/rfcomm/sock.c~bk-net net/bluetooth/rfcomm/sock.c
--- 25/net/bluetooth/rfcomm/sock.c~bk-net	2005-03-23 21:04:56.000000000 -0800
+++ 25-akpm/net/bluetooth/rfcomm/sock.c	2005-03-23 21:04:56.000000000 -0800
@@ -196,9 +196,6 @@ static void rfcomm_sock_destruct(struct 
 	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_ses
 		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 -puN net/bluetooth/sco.c~bk-net net/bluetooth/sco.c
--- 25/net/bluetooth/sco.c~bk-net	2005-03-23 21:04:56.000000000 -0800
+++ 25-akpm/net/bluetooth/sco.c	2005-03-23 21:04:56.000000000 -0800
@@ -334,9 +334,6 @@ static void sco_sock_destruct(struct soc
 
 	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 -puN net/bridge/br.c~bk-net net/bridge/br.c
--- 25/net/bridge/br.c~bk-net	2005-03-23 21:04:56.000000000 -0800
+++ 25-akpm/net/bridge/br.c	2005-03-23 21:04:56.000000000 -0800
@@ -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 -puN net/bridge/br_private.h~bk-net net/bridge/br_private.h
--- 25/net/bridge/br_private.h~bk-net	2005-03-23 21:04:56.000000000 -0800
+++ 25-akpm/net/bridge/br_private.h	2005-03-23 21:04:56.000000000 -0800
@@ -216,6 +216,12 @@ extern void br_stp_timer_init(struct net
 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 -puN net/core/dev.c~bk-net net/core/dev.c
--- 25/net/core/dev.c~bk-net	2005-03-23 21:04:56.000000000 -0800
+++ 25-akpm/net/core/dev.c	2005-03-23 21:04:56.000000000 -0800
@@ -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
 
 #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 *sk
 	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
 
 		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
 			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 -puN net/core/netpoll.c~bk-net net/core/netpoll.c
--- 25/net/core/netpoll.c~bk-net	2005-03-23 21:04:56.000000000 -0800
+++ 25-akpm/net/core/netpoll.c	2005-03-23 21:04:56.000000000 -0800
@@ -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 *
 }
 
 /*
- * 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 *
 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
 	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 *sk
 	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 *sk
 	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 -puN net/decnet/dn_nsp_in.c~bk-net net/decnet/dn_nsp_in.c
--- 25/net/decnet/dn_nsp_in.c~bk-net	2005-03-23 21:04:56.000000000 -0800
+++ 25-akpm/net/decnet/dn_nsp_in.c	2005-03-23 21:04:56.000000000 -0800
@@ -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 -puN net/ipv4/ip_output.c~bk-net net/ipv4/ip_output.c
--- 25/net/ipv4/ip_output.c~bk-net	2005-03-23 21:04:56.000000000 -0800
+++ 25-akpm/net/ipv4/ip_output.c	2005-03-23 21:04:56.000000000 -0800
@@ -498,7 +498,7 @@ int ip_fragment(struct sk_buff *skb, int
 		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 *
 	 * 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 -puN net/ipv4/multipath.c~bk-net net/ipv4/multipath.c
--- 25/net/ipv4/multipath.c~bk-net	2005-03-23 21:04:56.000000000 -0800
+++ 25-akpm/net/ipv4/multipath.c	2005-03-23 21:04:56.000000000 -0800
@@ -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 -puN net/ipv4/multipath_wrandom.c~bk-net net/ipv4/multipath_wrandom.c
--- 25/net/ipv4/multipath_wrandom.c~bk-net	2005-03-23 21:04:56.000000000 -0800
+++ 25-akpm/net/ipv4/multipath_wrandom.c	2005-03-23 21:04:56.000000000 -0800
@@ -248,7 +248,7 @@ static void wrandom_set_nhinfo(__u32 net
 
 		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 net
 		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 -puN net/ipv4/route.c~bk-net net/ipv4/route.c
--- 25/net/ipv4/route.c~bk-net	2005-03-23 21:04:56.000000000 -0800
+++ 25-akpm/net/ipv4/route.c	2005-03-23 21:04:56.000000000 -0800
@@ -148,7 +148,6 @@ static struct dst_entry *ipv4_negative_a
 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
 	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 -puN net/ipv4/tcp_input.c~bk-net net/ipv4/tcp_input.c
--- 25/net/ipv4/tcp_input.c~bk-net	2005-03-23 21:04:56.000000000 -0800
+++ 25-akpm/net/ipv4/tcp_input.c	2005-03-23 21:04:56.000000000 -0800
@@ -1654,7 +1654,10 @@ static void DBGUNDO(struct sock *sk, str
 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 -puN net/irda/af_irda.c~bk-net net/irda/af_irda.c
--- 25/net/irda/af_irda.c~bk-net	2005-03-23 21:04:56.000000000 -0800
+++ 25-akpm/net/irda/af_irda.c	2005-03-23 21:04:56.000000000 -0800
@@ -88,10 +88,8 @@ static int irda_data_indication(void *in
 	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 *i
 	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
 	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
 		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_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 *i
 	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 re
 
 	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_ind
 
 	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_lon
 	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_so
 	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_so
 	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 ird
 {
 	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_
 
 	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 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 *so
 
 	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 *so
 	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 *so
 			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 i
 {
 	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 *io
 		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 kio
 
 	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 ki
 
 	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 kio
 		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 kio
 	}
 
 	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 *
 	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
 	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
 				   __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 -puN net/irda/discovery.c~bk-net net/irda/discovery.c
--- 25/net/irda/discovery.c~bk-net	2005-03-23 21:04:56.000000000 -0800
+++ 25-akpm/net/irda/discovery.c	2005-03-23 21:04:56.000000000 -0800
@@ -155,7 +155,7 @@ void irlmp_expire_discoveries(hashbin_t 
 	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 *l
 {
 	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_disc
 	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_s
 
 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 -puN net/irda/ircomm/ircomm_core.c~bk-net net/irda/ircomm/ircomm_core.c
--- 25/net/irda/ircomm/ircomm_core.c~bk-net	2005-03-23 21:04:56.000000000 -0800
+++ 25-akpm/net/irda/ircomm/ircomm_core.c	2005-03-23 21:04:56.000000000 -0800
@@ -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 *
 	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
 
 	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 ircom
 {
 	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
 
 	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 ircom
 {	
 	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_c
 {
 	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
 	
 	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 irc
 
 	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
 {
 	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_c
 {
 	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_fi
 { 	
 	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 -puN net/irda/ircomm/ircomm_lmp.c~bk-net net/irda/ircomm/ircomm_lmp.c
--- 25/net/irda/ircomm/ircomm_lmp.c~bk-net	2005-03-23 21:04:56.000000000 -0800
+++ 25-akpm/net/irda/ircomm/ircomm_lmp.c	2005-03-23 21:04:56.000000000 -0800
@@ -92,7 +92,8 @@ static int ircomm_lmp_connect_response(s
 		 *  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(stru
 	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(stru
                 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(struc
 	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(struc
         }
 	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(vo
 
 	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(v
 
 	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_indicatio
 
 	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_indica
 
 	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 -puN net/irda/ircomm/ircomm_param.c~bk-net net/irda/ircomm/ircomm_param.c
--- 25/net/irda/ircomm/ircomm_param.c~bk-net	2005-03-23 21:04:56.000000000 -0800
+++ 25-akpm/net/irda/ircomm/ircomm_param.c	2005-03-23 21:04:56.000000000 -0800
@@ -106,8 +106,8 @@ int ircomm_param_request(struct ircomm_t
 
 	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_t
 	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(voi
 	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 *
 {
 	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 *
 {
 	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 *
 {
 	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
 {
 	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(voi
 {
 	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 *i
 {
 	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 *in
 {
 	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 *instan
 	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 *instan
 
 	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 *insta
 {
 	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 -puN net/irda/ircomm/ircomm_ttp.c~bk-net net/irda/ircomm/ircomm_ttp.c
--- 25/net/irda/ircomm/ircomm_ttp.c~bk-net	2005-03-23 21:04:56.000000000 -0800
+++ 25-akpm/net/irda/ircomm/ircomm_ttp.c	2005-03-23 21:04:56.000000000 -0800
@@ -172,7 +172,7 @@ static int ircomm_ttp_data_request(struc
 {
 	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(struc
 	 * 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(struc
 
 	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(vo
 
 	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(v
 
 	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_indicatio
 
 	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_indica
 
 	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(v
 
 	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 -puN net/irda/ircomm/ircomm_tty_attach.c~bk-net net/irda/ircomm/ircomm_tty_attach.c
--- 25/net/irda/ircomm/ircomm_tty_attach.c~bk-net	2005-03-23 21:04:56.000000000 -0800
+++ 25-akpm/net/irda/ircomm/ircomm_tty_attach.c	2005-03-23 21:04:56.000000000 -0800
@@ -132,8 +132,8 @@ int ircomm_tty_attach_cable(struct ircom
 {
 	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 irco
 {
 	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(stru
 
 	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(st
  */
 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_indicat
 	 * 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(vo
 
 	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(
 
 	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 *in
 
 	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 
 
 	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 
 {
 	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 
 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_ex
 	
 	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_ex
 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_tt
 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 
 		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(struc
 		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_parame
 	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 -puN net/irda/ircomm/ircomm_tty.c~bk-net net/irda/ircomm/ircomm_tty.c
--- 25/net/irda/ircomm/ircomm_tty.c~bk-net	2005-03-23 21:04:56.000000000 -0800
+++ 25-akpm/net/irda/ircomm/ircomm_tty.c	2005-03-23 21:04:56.000000000 -0800
@@ -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(
 {
 	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(vo
 
 	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 irc
 
 	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 irc
 	/* 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_st
 		/* 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_st
 		 */
 
 		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_
 	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_
 	}
 
 	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(stru
 {
 	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_s
 	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 
 	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(s
 	
 	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 t
 
 	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
 
 	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(st
 	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 i
 {
 	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
 
 	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_s
 {
 	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(struc
 
 	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(vo
 
 	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
 
 	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(v
 	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 -puN net/irda/ircomm/ircomm_tty_ioctl.c~bk-net net/irda/ircomm/ircomm_tty_ioctl.c
--- 25/net/irda/ircomm/ircomm_tty_ioctl.c~bk-net	2005-03-23 21:04:56.000000000 -0800
+++ 25-akpm/net/irda/ircomm/ircomm_tty_ioctl.c	2005-03-23 21:04:56.000000000 -0800
@@ -95,7 +95,7 @@ static void ircomm_tty_change_speed(stru
 		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_struc
 	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 -puN net/irda/irda_device.c~bk-net net/irda/irda_device.c
--- 25/net/irda/irda_device.c~bk-net	2005-03-23 21:04:56.000000000 -0800
+++ 25-akpm/net/irda/irda_device.c	2005-03-23 21:04:56.000000000 -0800
@@ -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 n
 
 	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_
 	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_ta
 
 	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
 #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 d
 	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(struc
 	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 -puN net/irda/iriap.c~bk-net net/irda/iriap.c
--- 25/net/irda/iriap.c~bk-net	2005-03-23 21:04:56.000000000 -0800
+++ 25-akpm/net/irda/iriap.c	2005-03-23 21:04:56.000000000 -0800
@@ -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_s
 
 	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_c
 {
 	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 ir
 
 	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(
 
 	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(str
 
 	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
 	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_confir
 	__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_respon
 
 	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_indica
 
 	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 *sel
 
 	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_
 {
 	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 *
 
 	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(voi
 
 	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 *i
 
 	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 *i
 	}
 	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_
 
 	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
 {
 	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_fil
 		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_fil
 		     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_fil
 			seq_putc(seq, '\n');
 
 		}
+	IRDA_ASSERT_LABEL(outloop:)
 		spin_unlock(&obj->attribs->hb_spinlock);
 	}
 
@@ -1070,7 +1073,7 @@ static struct seq_operations irias_seq_o
 
 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 -puN net/irda/iriap_event.c~bk-net net/irda/iriap_event.c
--- 25/net/irda/iriap_event.c~bk-net	2005-03-23 21:04:56.000000000 -0800
+++ 25-akpm/net/irda/iriap_event.c	2005-03-23 21:04:56.000000000 -0800
@@ -93,32 +93,32 @@ static void (*iriap_state[])(struct iria
 
 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 i
 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_
 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
 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_
 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 iri
 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 ir
 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 ir
 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 iri
 {
 	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
 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 ir
 	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
 {
 	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 -puN net/irda/irias_object.c~bk-net net/irda/irias_object.c
--- 25/net/irda/irias_object.c~bk-net	2005-03-23 21:04:56.000000000 -0800
+++ 25-akpm/net/irda/irias_object.c	2005-03-23 21:04:56.000000000 -0800
@@ -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( cha
 	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( cha
 	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
 
 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_objec
 {
 	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_objec
 {
 	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_objec
  */
 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(str
 {
 	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 *
 	/* 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 *
 	/* 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
 {
 	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_
 {
 	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_
 {
 	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_valu
 
 	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
 
 	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
 
 	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
 
 	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_valu
 
 	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
 {
 	IRDA_DEBUG(4, "%s()\n", __FUNCTION__);
 
-	ASSERT(value != NULL, return;);
+	IRDA_ASSERT(value != NULL, return;);
 
 	switch (value->type) {
 	case IAS_INTEGER: /* Fallthrough */
diff -puN net/irda/irlan/irlan_client.c~bk-net net/irda/irlan/irlan_client.c
--- 25/net/irda/irlan/irlan_client.c~bk-net	2005-03-23 21:04:56.000000000 -0800
+++ 25-akpm/net/irda/irlan/irlan_client.c	2005-03-23 21:04:56.000000000 -0800
@@ -74,8 +74,8 @@ static void irlan_client_kick_timer_expi
 	
 	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
 {
 	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(d
 	
 	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(d
 	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_indica
 	
 	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
 	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(
 
 	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_co
 
 	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 
         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(s
 
 	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 
 	
 	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 -puN net/irda/irlan/irlan_client_event.c~bk-net net/irda/irlan/irlan_client_event.c
--- 25/net/irda/irlan/irlan_client_event.c~bk-net	2005-03-23 21:04:56.000000000 -0800
+++ 25-akpm/net/irda/irlan/irlan_client_event.c	2005-03-23 21:04:56.000000000 -0800
@@ -77,8 +77,8 @@ static int (*state[])(struct irlan_cb *,
 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(struc
 {
 	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(stru
 {
 	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(struc
 {
 	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(struc
 {
 	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(stru
 {
 	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(struc
 
 	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(struc
 		 *  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(struc
 {
 	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
 
 	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(struc
 {
 	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 -puN net/irda/irlan/irlan_common.c~bk-net net/irda/irlan/irlan_common.c
--- 25/net/irda/irlan/irlan_common.c~bk-net	2005-03-23 21:04:56.000000000 -0800
+++ 25-akpm/net/irda/irlan/irlan_common.c	2005-03-23 21:04:56.000000000 -0800
@@ -261,8 +261,8 @@ static void __irlan_close(struct irlan_c
 	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(voi
 	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 *
 
 	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(
 	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(
 		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_c
 
 	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 *
 {
 	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 
 	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 irla
 
 	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 irla
 	
 	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 irl
 	
 	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(stru
 	
 	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 i
 	
 	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 i
 	
 	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(struc
 		
 	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_c
 	
 	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 s
 		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 s
 	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_fil
 	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 -puN net/irda/irlan/irlan_eth.c~bk-net net/irda/irlan/irlan_eth.c
--- 25/net/irda/irlan/irlan_eth.c~bk-net	2005-03-23 21:04:56.000000000 -0800
+++ 25-akpm/net/irda/irlan/irlan_eth.c	2005-03-23 21:04:56.000000000 -0800
@@ -222,7 +222,13 @@ int irlan_eth_receive(void *instance, vo
 		++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 *ins
 
 	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
 
 	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 -puN net/irda/irlan/irlan_event.c~bk-net net/irda/irlan/irlan_event.c
--- 25/net/irda/irlan/irlan_event.c~bk-net	2005-03-23 21:04:56.000000000 -0800
+++ 25-akpm/net/irda/irlan/irlan_event.c	2005-03-23 21:04:56.000000000 -0800
@@ -42,8 +42,8 @@ void irlan_next_client_state(struct irla
 {
 	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 ir
 {
 	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 -puN net/irda/irlan/irlan_filter.c~bk-net net/irda/irlan/irlan_filter.c
--- 25/net/irda/irlan/irlan_filter.c~bk-net	2005-03-23 21:04:56.000000000 -0800
+++ 25-akpm/net/irda/irlan/irlan_filter.c	2005-03-23 21:04:56.000000000 -0800
@@ -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 ir
 
 	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 -puN net/irda/irlan/irlan_provider.c~bk-net net/irda/irlan/irlan_provider.c
--- 25/net/irda/irlan/irlan_provider.c~bk-net	2005-03-23 21:04:56.000000000 -0800
+++ 25-akpm/net/irda/irlan/irlan_provider.c	2005-03-23 21:04:56.000000000 -0800
@@ -74,10 +74,10 @@ static int irlan_provider_data_indicatio
 	
 	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_indic
 	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_indic
 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_in
 	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 
         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 ir
 
 	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
 	
 	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 -puN net/irda/irlan/irlan_provider_event.c~bk-net net/irda/irlan/irlan_provider_event.c
--- 25/net/irda/irlan/irlan_provider_event.c~bk-net	2005-03-23 21:04:56.000000000 -0800
+++ 25-akpm/net/irda/irlan/irlan_provider_event.c	2005-03-23 21:04:56.000000000 -0800
@@ -58,7 +58,7 @@ static int (*state[])(struct irlan_cb *s
 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(str
 {
 	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(str
 
 	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(str
 {
 	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(str
 {
 	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 -puN net/irda/irlap.c~bk-net net/irda/irlap.c
--- 25/net/irda/irlap.c~bk-net	2005-03-23 21:04:56.000000000 -0800
+++ 25-akpm/net/irda/irlap.c	2005-03-23 21:04:56.000000000 -0800
@@ -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 irl
 {
 	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_
 {
 	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_
 {
 	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_
 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 
 #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 ir
 {
 	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 irl
 {
 	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 
 {
 	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 
 						 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 irla
 {
 	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 irla
 	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 irla
  */
 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 i
 {
 	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 irla
 {
 	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
 {
 	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,
 	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,
 
 	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(str
 {
 	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
 {
 	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 ir
 
 	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 ir
 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_para
 {
 	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(s
 {
 	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(s
 	 *  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_fil
 	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 -puN net/irda/irlap_event.c~bk-net net/irda/irlap_event.c
--- 25/net/irda/irlap_event.c~bk-net	2005-03-23 21:04:56.000000000 -0800
+++ 25-akpm/net/irda/irlap_event.c	2005-03-23 21:04:56.000000000 -0800
@@ -169,8 +169,8 @@ static void irlap_poll_timer_expired(voi
 {
 	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(voi
  */
 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_
 	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_
 		}
 		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_
 		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 irla
 {
 	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 irla
 		 * 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 irla
 
 	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 irla
 		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
 
 	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 irla
 
 	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 irla
 	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 irla
 			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 irla
 		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 irl
 
 	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 irla
 		 */
 		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 irla
 			/* 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 irla
 		}
 		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
 
 	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 irla
 
 	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 irla
 		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 irl
 
 	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 irla
 
 	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 irl
 
 	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( stru
 
 	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 -puN net/irda/irlap_frame.c~bk-net net/irda/irlap_frame.c
--- 25/net/irda/irlap_frame.c~bk-net	2005-03-23 21:04:56.000000000 -0800
+++ 25-akpm/net/irda/irlap_frame.c	2005-03-23 21:04:56.000000000 -0800
@@ -113,8 +113,8 @@ void irlap_send_snrm_frame(struct irlap_
 	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
 
 	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_c
 	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_
 
 	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(stru
 	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
 
 	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
 	}
 
 	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
 	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
 		/* 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
 		 */
 		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(str
 {
 	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
 	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
 		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 
 	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
 {
 	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
 
 	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
 	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
 	 * 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
 			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
 		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 -puN net/irda/irlmp.c~bk-net net/irda/irlmp.c
--- 25/net/irda/irlmp.c~bk-net	2005-03-23 21:04:56.000000000 -0800
+++ 25-akpm/net/irda/irlmp.c	2005-03-23 21:04:56.000000000 -0800
@@ -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 sls
 {
 	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 sls
 	/* 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 ls
 {
 	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 *se
 	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 *se
 	 */
 	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
 {
 	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
 #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
 	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
 	}
 
 	/* 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
 	 */
 	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 lsa
 	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 lsa
  */
 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_c
 		   __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_c
 
 	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
 {
 	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
 	 *  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 
 	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 
 	/*
 	 *  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 *
 
 	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 *
 
 	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_respons
 {
 	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 *s
 {
 	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 *
 
 	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_
 {
 	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 l
 
 	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 l
 	/* 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(stru
 {
 	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_
 	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
 	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_m
 	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_
 	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_
 	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_
 		/* 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_
 
 	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_
 	 * 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_fil
 		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_fil
 		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_fil
 			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 *
 	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 -puN net/irda/irlmp_event.c~bk-net net/irda/irlmp_event.c
--- 25/net/irda/irlmp_event.c~bk-net	2005-03-23 21:04:56.000000000 -0800
+++ 25-akpm/net/irda/irlmp_event.c	2005-03-23 21:04:56.000000000 -0800
@@ -130,7 +130,7 @@ static inline void irlmp_next_lsap_state
 					 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
 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 *
 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 *
 
 	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 l
 				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(stru
 
 	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(stru
 		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(stru
 		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 ls
 
 	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 ls
 		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(stru
 
 	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_c
 
 	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_c
 		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_c
 	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
 	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
 	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
 
 		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
 	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
 
 	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
 	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 -puN net/irda/irlmp_frame.c~bk-net net/irda/irlmp_frame.c
--- 25/net/irda/irlmp_frame.c~bk-net	2005-03-23 21:04:56.000000000 -0800
+++ 25-akpm/net/irda/irlmp_frame.c	2005-03-23 21:04:56.000000000 -0800
@@ -63,9 +63,9 @@ void irlmp_send_lcf_pdu(struct lap_cb *s
 	
 	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 l
 	
 	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(stru
 	
 	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(st
 {
 	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(struc
 
 	/* 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 l
 {
 	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 l
 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
 {
 	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 -puN net/irda/irqueue.c~bk-net net/irda/irqueue.c
--- 25/net/irda/irqueue.c~bk-net	2005-03-23 21:04:56.000000000 -0800
+++ 25-akpm/net/irda/irqueue.c	2005-03-23 21:04:56.000000000 -0800
@@ -391,8 +391,8 @@ int hashbin_delete( hashbin_t* hashbin, 
 	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_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
 
 	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* ha
 
 	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, 
 
 	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
 	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_
 	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 -puN net/irda/irttp.c~bk-net net/irda/irttp.c
--- 25/net/irda/irttp.c~bk-net	2005-03-23 21:04:56.000000000 -0800
+++ 25-akpm/net/irda/irttp.c	2005-03-23 21:04:56.000000000 -0800
@@ -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 *
 
 	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_
 	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_
 	 * 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(st
 
 	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
 
 	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 sts
 	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 sts
 	 */
 	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 *sel
 
 	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 *sel
 
 	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 *s
 	__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 *s
 	 *  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 *s
 	    (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 *s
 	/* 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(str
 	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 *
 
 	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
 
 	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 *
 
 	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 *
 {
 	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
 
 	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
 		 *  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
 
 	/* 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 *
 
 	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 *
 
 	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 *
 
 		/* 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 *inst
 
 	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 *inst
 
 	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 *inst
 
 		/* 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_c
 	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_c
 		 *  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_c
 
 	/* 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
 {
 	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 *i
 
 	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 *
 	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 -puN net/irda/parameters.c~bk-net net/irda/parameters.c
--- 25/net/irda/parameters.c~bk-net	2005-03-23 21:04:56.000000000 -0800
+++ 25-akpm/net/irda/parameters.c	2005-03-23 21:04:56.000000000 -0800
@@ -160,7 +160,8 @@ static int irda_insert_integer(void *sel
 	}
 	/* 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 *sel
 
 		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 *se
 
 	/* 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 *se
 	 * 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 *se
 			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 *sel
 
 	/* 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 *sel
 
 	/* 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 p
 	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 p
 
 	/*  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
 	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
 
 	/*  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, _
 	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 -puN net/irda/qos.c~bk-net net/irda/qos.c
--- 25/net/irda/qos.c~bk-net	2005-03-23 21:04:56.000000000 -0800
+++ 25-akpm/net/irda/qos.c	2005-03-23 21:04:56.000000000 -0800
@@ -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(__u3
  */
 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(st
 	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(st
 	}
 #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(st
 			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 *i
 
 	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(v
 	
 	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(voi
 {
 	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 *i
 {
 	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 
 {
 	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(v
 {
 	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(voi
 {
 	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 spee
 	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_i
 {
 	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 -puN net/irda/timer.c~bk-net net/irda/timer.c
--- 25/net/irda/timer.c~bk-net	2005-03-23 21:04:56.000000000 -0800
+++ 25-akpm/net/irda/timer.c	2005-03-23 21:04:56.000000000 -0800
@@ -144,8 +144,8 @@ static void irlap_slot_timer_expired(voi
 {
 	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(vo
 {
 	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(vo
 {
 	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 
 {
 	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(
 {
 	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 -puN net/irda/wrapper.c~bk-net net/irda/wrapper.c
--- 25/net/irda/wrapper.c~bk-net	2005-03-23 21:04:56.000000000 -0800
+++ 25-akpm/net/irda/wrapper.c	2005-03-23 21:04:56.000000000 -0800
@@ -133,7 +133,11 @@ int async_wrap_skb(struct sk_buff *skb, 
 		 *  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 -puN net/Kconfig~bk-net net/Kconfig
--- 25/net/Kconfig~bk-net	2005-03-23 21:04:56.000000000 -0800
+++ 25-akpm/net/Kconfig	2005-03-23 21:04:56.000000000 -0800
@@ -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 -puN net/netlink/af_netlink.c~bk-net net/netlink/af_netlink.c
--- 25/net/netlink/af_netlink.c~bk-net	2005-03-23 21:04:56.000000000 -0800
+++ 25-akpm/net/netlink/af_netlink.c	2005-03-23 21:04:56.000000000 -0800
@@ -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, s
 
 	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, str
 	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 -puN net/netlink/Makefile~bk-net net/netlink/Makefile
--- 25/net/netlink/Makefile~bk-net	2005-03-23 21:04:56.000000000 -0800
+++ 25-akpm/net/netlink/Makefile	2005-03-23 21:04:56.000000000 -0800
@@ -3,4 +3,3 @@
 #
 
 obj-y  				:= af_netlink.o
-obj-$(CONFIG_NETLINK_DEV)	+= netlink_dev.o
diff -puN net/netlink/netlink_dev.c~bk-net net/netlink/netlink_dev.c
diff -puN net/netrom/af_netrom.c~bk-net net/netrom/af_netrom.c
--- 25/net/netrom/af_netrom.c~bk-net	2005-03-23 21:04:56.000000000 -0800
+++ 25-akpm/net/netrom/af_netrom.c	2005-03-23 21:04:58.000000000 -0800
@@ -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(unsig
 
 	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(unsigne
 
 	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 *
 	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 *
 	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
 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
 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 s
 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 *soc
 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 *soc
 	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 *soc
 {
 	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, str
 {
 	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, str
 
 	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 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 
 {
 	struct sock *s = v;
 	struct net_device *dev;
-	nr_cb *nr;
+	struct nr_sock *nr;
 	const char *devname;
 
 	if (v == SEQ_START_TOKEN)
diff -puN net/netrom/nr_in.c~bk-net net/netrom/nr_in.c
--- 25/net/netrom/nr_in.c~bk-net	2005-03-23 21:04:56.000000000 -0800
+++ 25-akpm/net/netrom/nr_in.c	2005-03-23 21:04:58.000000000 -0800
@@ -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
 {
 	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
  */
 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
 /* 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 -puN net/netrom/nr_out.c~bk-net net/netrom/nr_out.c
--- 25/net/netrom/nr_out.c~bk-net	2005-03-23 21:04:56.000000000 -0800
+++ 25-akpm/net/netrom/nr_out.c	2005-03-23 21:04:58.000000000 -0800
@@ -82,7 +82,7 @@ void nr_output(struct sock *sk, struct s
  */
 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 *
 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,
 
 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 
  */
 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 -puN net/netrom/nr_subr.c~bk-net net/netrom/nr_subr.c
--- 25/net/netrom/nr_subr.c~bk-net	2005-03-23 21:04:56.000000000 -0800
+++ 25-akpm/net/netrom/nr_subr.c	2005-03-23 21:04:58.000000000 -0800
@@ -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, unsi
  */
 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, uns
  */
 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 -puN net/netrom/nr_timer.c~bk-net net/netrom/nr_timer.c
--- 25/net/netrom/nr_timer.c~bk-net	2005-03-23 21:04:56.000000000 -0800
+++ 25-akpm/net/netrom/nr_timer.c	2005-03-23 21:04:58.000000000 -0800
@@ -38,7 +38,7 @@ static void nr_idletimer_expiry(unsigned
 
 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
 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 l
 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
 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 -puN net/rose/af_rose.c~bk-net net/rose/af_rose.c
--- 25/net/rose/af_rose.c~bk-net	2005-03-23 21:04:56.000000000 -0800
+++ 25-akpm/net/rose/af_rose.c	2005-03-23 21:04:58.000000000 -0800
@@ -128,24 +128,7 @@ int rosecmpm(rose_address *addr1, rose_a
 
 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_neig
 
 	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 n
 
 	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(r
 
 	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(r
 	}
 
 	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 i
 
 	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
 	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
 	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 *so
 	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 *so
 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 *so
 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
 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 *s
 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
 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 *s
 {
 	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 
 {
 	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 
 	/*
 	 * 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 *io
 			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 *io
 			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 *io
 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_fil
 
 	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 -puN net/rose/rose_in.c~bk-net net/rose/rose_in.c
--- 25/net/rose/rose_in.c~bk-net	2005-03-23 21:04:56.000000000 -0800
+++ 25-akpm/net/rose/rose_in.c	2005-03-23 21:04:58.000000000 -0800
@@ -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 so
  */
 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 so
  */
 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 so
  */
 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 so
 /* 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 -puN net/rose/rose_out.c~bk-net net/rose/rose_out.c
--- 25/net/rose/rose_out.c~bk-net	2005-03-23 21:04:56.000000000 -0800
+++ 25-akpm/net/rose/rose_out.c	2005-03-23 21:04:58.000000000 -0800
@@ -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
 
 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 -puN net/rose/rose_route.c~bk-net net/rose/rose_route.c
--- 25/net/rose/rose_route.c~bk-net	2005-03-23 21:04:56.000000000 -0800
+++ 25-akpm/net/rose/rose_route.c	2005-03-23 21:04:58.000000000 -0800
@@ -899,7 +899,8 @@ int rose_route_frame(struct sk_buff *skb
 	 */
 	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 -puN net/rose/rose_subr.c~bk-net net/rose/rose_subr.c
--- 25/net/rose/rose_subr.c~bk-net	2005-03-23 21:04:56.000000000 -0800
+++ 25-akpm/net/rose/rose_subr.c	2005-03-23 21:04:58.000000000 -0800
@@ -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, un
  */
 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 
 	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(unsign
 
 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 -puN net/rose/rose_timer.c~bk-net net/rose/rose_timer.c
--- 25/net/rose/rose_timer.c~bk-net	2005-03-23 21:04:56.000000000 -0800
+++ 25-akpm/net/rose/rose_timer.c	2005-03-23 21:04:58.000000000 -0800
@@ -46,7 +46,7 @@ void rose_start_heartbeat(struct sock *s
 
 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(unsign
 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 -puN net/sctp/sm_statefuns.c~bk-net net/sctp/sm_statefuns.c
--- 25/net/sctp/sm_statefuns.c~bk-net	2005-03-23 21:04:56.000000000 -0800
+++ 25-akpm/net/sctp/sm_statefuns.c	2005-03-23 21:04:58.000000000 -0800
@@ -268,7 +268,7 @@ sctp_disposition_t sctp_sf_do_5_1B_init(
 	 */
 	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 -puN net/socket.c~bk-net net/socket.c
--- 25/net/socket.c~bk-net	2005-03-23 21:04:56.000000000 -0800
+++ 25-akpm/net/socket.c	2005-03-23 21:04:58.000000000 -0800
@@ -993,8 +993,7 @@ static int sock_fasync(int fd, struct fi
 	sock = SOCKET_I(filp->f_dentry->d_inode);
 
 	if ((sk=sock->sk) == NULL) {
-		if (fna)
-			kfree(fna);
+		kfree(fna);
 		return -EINVAL;
 	}
 
diff -puN net/x25/af_x25.c~bk-net net/x25/af_x25.c
--- 25/net/x25/af_x25.c~bk-net	2005-03-23 21:04:56.000000000 -0800
+++ 25-akpm/net/x25/af_x25.c	2005-03-23 21:04:58.000000000 -0800
@@ -859,7 +859,7 @@ int x25_rx_call_request(struct sk_buff *
 	/*
 	 *	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;
 
 	/*
_