public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
From: "Victor J. Orlikowski" <victor.j.orlikowski@alumni.duke.edu>
To: kernel list <linux-kernel@vger.kernel.org>
Subject: Re: ipw2100 wireless driver
Date: Wed, 14 Jul 2004 13:00:17 -0400	[thread overview]
Message-ID: <20040714170017.GA31372@peregrin> (raw)
In-Reply-To: <20040714134227.GA8978@elf.ucw.cz>

On Wed, Jul 14, 2004 at 03:42:27PM +0200, Pavel Machek wrote:
> Yep, that would certainly be better. I'll wait if I get some  reply
> from ipw2100 people. If so I'll update the patch.

Pavel,

Here's some work saved for you; I don't have crypto, so this patch
is only missing edits to those bits that cover WEP in ipw2100.
This ought to allow compilation w/ gcc 2.95.

diff -ru ipw2100-0.49/ieee80211.h ipw2100-0.49-mod/ieee80211.h
--- ipw2100-0.49/ieee80211.h	Fri Jul  9 00:32:17 2004
+++ ipw2100-0.49-mod/ieee80211.h	Wed Jul 14 11:06:24 2004
@@ -440,7 +440,7 @@
 	u16 reserved;
 	u16 frag_size;
 	u16 payload_size;
-	struct sk_buff *fragments[];
+	struct sk_buff *fragments[0];
 };
 
 extern struct ieee80211_txb *ieee80211_skb_to_txb(struct ieee80211_device *ieee, 
diff -ru ipw2100-0.49/ipw2100.h ipw2100-0.49-mod/ipw2100.h
--- ipw2100-0.49/ipw2100.h	Fri Jul  9 00:32:17 2004
+++ ipw2100-0.49-mod/ipw2100.h	Wed Jul 14 12:55:01 2004
@@ -48,7 +48,7 @@
 #define work_struct tq_struct
 #define schedule_work schedule_task
 #define INIT_WORK INIT_TQUEUE
-#define get_seconds(x) CURRENT_TIME
+#define get_seconds() CURRENT_TIME
 #endif
 
 #ifndef IRQ_NONE
@@ -238,9 +238,9 @@
 
 struct bd_status {
 	union {
-		struct { u8 nlf:1, txType:2, intEnabled:1, reserved:4; };
+		struct { u8 nlf:1, txType:2, intEnabled:1, reserved:4;} fields;
 		u8 field;
-	};
+	} info;
 } __attribute__ ((packed));
 
 #define	IPW_BUFDESC_LAST_FRAG 0
@@ -402,13 +402,13 @@
 		struct { /* COMMAND */
 			struct ipw2100_cmd_header* cmd;
 			dma_addr_t cmd_phys;
-		};
+		} c_struct;
 		struct { /* DATA */
 			struct ipw2100_data_header* data;
 			dma_addr_t data_phys;
 			struct ieee80211_txb *txb;
-		};
-	};
+		} d_struct;
+	} info;
 	int jiffy_start;
 
 	struct list_head list;
@@ -857,7 +857,7 @@
 		u32 status;
 		struct ipw2100_notification notification;
 		struct ipw2100_cmd_header command;
-	};
+	} rx_data;
 } __attribute__ ((packed));
 
 // Bit 0-7 are for 802.11b tx rates - .  Bit 5-7 are reserved  
diff -ru ipw2100-0.49/ipw2100_main.c ipw2100-0.49-mod/ipw2100_main.c
--- ipw2100-0.49/ipw2100_main.c	Fri Jul  9 00:32:17 2004
+++ ipw2100-0.49-mod/ipw2100_main.c	Wed Jul 14 12:49:56 2004
@@ -402,7 +402,7 @@
 	if (IS_ORDINAL_TABLE_ONE(ordinals, ord)) {
 		if (*len != IPW_ORD_TAB_1_ENTRY_SIZE) {
 			*len = IPW_ORD_TAB_1_ENTRY_SIZE;
-			IPW2100_DEBUG_INFO("wrong size\n");
+			IPW2100_DEBUG_INFO("%s", "wrong size\n");
 			return -EINVAL;
 		}
 
@@ -416,7 +416,7 @@
 		return 0;
 	} 
 
-	IPW2100_DEBUG_INFO("wrong table\n");
+	IPW2100_DEBUG_INFO("%s", "wrong table\n");
 	if (IS_ORDINAL_TABLE_TWO(ordinals, ord)) 
 		return -EINVAL;
 
@@ -443,28 +443,25 @@
 	spin_lock_irqsave(&priv->low_lock, flags);
 
 	if (priv->fatal_error) {
-		IPW2100_DEBUG_INFO("Attempt to send command while hardware "
-				   "in fatal error condition.");
+		IPW2100_DEBUG_INFO("%s", "Attempt to send command while hardware in fatal error condition.");
 		err = -EIO;
 		goto fail_unlock;
 	}
 
 	if (priv->stopped) {
-		IPW2100_DEBUG_INFO("Attempt to send command while hardware "
-				   "is not running.");
+		IPW2100_DEBUG_INFO("%s", "Attempt to send command while hardware is not running.");
 		err = -EIO;
 		goto fail_unlock;
 	}
 
 	if (priv->message_sending) {
-		IPW2100_DEBUG_INFO("Attempt to send command while hardware "
-				   "another command is pending.");
+		IPW2100_DEBUG_INFO("%s", "Attempt to send command while hardware another command is pending.");
 		err = -EBUSY;
 		goto fail_unlock;
 	}
 
 	if (list_empty(&priv->msg_free_list)) {
-		IPW2100_DEBUG_INFO("no available msg buffers\n");
+		IPW2100_DEBUG_INFO("%s", "no available msg buffers\n");
 		goto fail_unlock;
 	}
 
@@ -477,14 +474,14 @@
 	packet->jiffy_start = jiffies;
 
 	/* initialize the firmware command packet */
-	packet->cmd->host_command_reg = cmd->host_command;
-	packet->cmd->host_command_reg1 = cmd->host_command1;
-	packet->cmd->host_command_len_reg = cmd->host_command_length;
-	packet->cmd->sequence = cmd->host_command_sequence;
+	packet->info.c_struct.cmd->host_command_reg = cmd->host_command;
+	packet->info.c_struct.cmd->host_command_reg1 = cmd->host_command1;
+	packet->info.c_struct.cmd->host_command_len_reg = cmd->host_command_length;
+	packet->info.c_struct.cmd->sequence = cmd->host_command_sequence;
 
-	memcpy(packet->cmd->host_command_params_reg,
+	memcpy(packet->info.c_struct.cmd->host_command_params_reg,
 	       cmd->host_command_parameters,
-	       sizeof(packet->cmd->host_command_params_reg));
+	       sizeof(packet->info.c_struct.cmd->host_command_params_reg));
 
 	list_del(element);
 	DEC_STAT(&priv->msg_free_stat);
@@ -603,7 +600,7 @@
 		err = ipw2100_get_ordinal(priv, IPW_ORD_CARD_DISABLED, 
 					  &card_disabled, &len);
 		if (err) {
-			IPW2100_DEBUG_INFO("query failed.\n");
+			IPW2100_DEBUG_INFO("%s", "query failed.\n");
 			break;
 		}
 
@@ -820,7 +817,7 @@
 {
 	struct ipw2100_ordinals *ord = &priv->ordinals;
 
-	IPW2100_DEBUG_INFO("enter\n");
+	IPW2100_DEBUG_INFO("%s", "enter\n");
 
 	read_register(priv->ndev, IPW_MEM_HOST_SHARED_ORDINALS_TABLE_1,
 		      &ord->table1_addr);
@@ -835,7 +832,7 @@
 
 	IPW2100_DEBUG_INFO("table 1 size: %d\n", ord->table1_size);
 	IPW2100_DEBUG_INFO("table 2 size: %d\n", ord->table2_size);
-	IPW2100_DEBUG_INFO("exit\n");
+	IPW2100_DEBUG_INFO("%s", "exit\n");
 }
 
 static inline void ipw2100_hw_set_gpio(struct ipw2100_priv *priv)
@@ -969,7 +966,7 @@
 	int i;
 	u32 r;
 
-	IPW2100_DEBUG_INFO("enter\n");
+	IPW2100_DEBUG_INFO("%s", "enter\n");
 
 	if (!priv->stopped)
 		return 0;
@@ -996,7 +993,7 @@
 	write_register(priv->ndev, IPW_REG_RESET_REG, 0);
 
 	/* wait for f/w intialization complete */
-	IPW2100_DEBUG_FW("Waiting for f/w initialization to complete...\n");
+	IPW2100_DEBUG_FW("%s", "Waiting for f/w initialization to complete...\n");
 	i = 5000;
 	do {
   		set_current_state(TASK_UNINTERRUPTIBLE);
@@ -1049,7 +1046,7 @@
 
 	priv->stopped = 0;
 
-	IPW2100_DEBUG_INFO("exit\n");
+	IPW2100_DEBUG_INFO("%s", "exit\n");
 
 	return 0;
 }
@@ -1083,7 +1080,7 @@
 	u32 reg;
 	int i;
 
-	IPW2100_DEBUG_INFO("Power cycling the hardware.\n");
+	IPW2100_DEBUG_INFO("%s", "Power cycling the hardware.\n");
 
 	ipw2100_hw_set_gpio(priv);
 
@@ -1105,8 +1102,7 @@
 	priv->reset_pending = 0;
 
 	if (!i) {
-		IPW2100_DEBUG_INFO("exit - waited too long for master assert "
-		       "stop\n");
+		IPW2100_DEBUG_INFO("%s", "exit - waited too long for master assert stop\n");
 		return -EIO;
 	}
 
@@ -1148,7 +1144,7 @@
 	if (priv->phy_off == 1)
 		return 0;
 
-	IPW2100_DEBUG_FW_COMMAND("CARD_DISABLE_PHY_OFF\n");
+	IPW2100_DEBUG_FW_COMMAND("%s", "CARD_DISABLE_PHY_OFF\n");
 
 	/* Turn off the radio */
 	err = ipw2100_hw_send_command(priv, &cmd);
@@ -1182,14 +1178,14 @@
 	};
 	int err;
 
-	IPW2100_DEBUG_FW_COMMAND("HOST_COMPLETE\n");
+	IPW2100_DEBUG_FW_COMMAND("%s", "HOST_COMPLETE\n");
 	
 	if (!priv->disabled) 
 		return 0;
 
 	err = ipw2100_hw_send_command(priv, &cmd);
 	if (err) {
-		IPW2100_DEBUG_INFO("Failed to send HOST_COMPLETE command\n");
+		IPW2100_DEBUG_INFO("%s", "Failed to send HOST_COMPLETE command\n");
 		return err;
 	}
 
@@ -1201,7 +1197,7 @@
 		return err;
 	}
 
-	IPW2100_DEBUG_INFO("TODO: implement scan state machine\n");
+	IPW2100_DEBUG_INFO("%s", "TODO: implement scan state machine\n");
 
 	return 0;
 }
@@ -1253,7 +1249,7 @@
 		 * event. Therefore, skip waiting for it.  Just wait a fixed 
 		 * 100ms
 		 */
-		IPW2100_DEBUG_FW_COMMAND("HOST_PRE_POWER_DOWN\n");
+		IPW2100_DEBUG_FW_COMMAND("%s", "HOST_PRE_POWER_DOWN\n");
 		
 		err = ipw2100_hw_send_command(priv, &cmd);
 		if (err) 
@@ -1321,26 +1317,24 @@
 	};
 	int err;
 
-	IPW2100_DEBUG_FW_COMMAND("CARD_DISABLE\n");
+	IPW2100_DEBUG_FW_COMMAND("%s", "CARD_DISABLE\n");
 
 	if (priv->disabled) 
 		return 0;
 
 	err = ipw2100_hw_send_command(priv, &cmd);
 	if (err) {
-		IPW2100_DEBUG_WARNING("exit - failed to send CARD_DISABLE "
-				      "command\n");
+		IPW2100_DEBUG_WARNING("%s", "exit - failed to send CARD_DISABLE command\n");
 		return err;
 	}
 
 	err = ipw2100_wait_for_card_state(priv, STATE_DISABLED);
 	if (err) {
-		IPW2100_DEBUG_WARNING("exit - card failed to change to "
-				      "DISABLED\n");
+		IPW2100_DEBUG_WARNING("%s", "exit - card failed to change to DISABLED\n");
 		return err;
 	}
 
-	IPW2100_DEBUG_INFO("TODO: implement scan state machine\n");
+	IPW2100_DEBUG_INFO("%s", "TODO: implement scan state machine\n");
 
 
 	return 0;
@@ -1545,7 +1539,7 @@
 	u32 chan;
 	char *txratename;
 
-	IPW2100_DEBUG_INFO("enter\n");
+	IPW2100_DEBUG_INFO("%s", "enter\n");
 
 	/*
 	 * TBD: BSSID is usually 00:00:00:00:00:00 here and not
@@ -1639,11 +1633,9 @@
 
 	printk(KERN_DEBUG "%s: Association lost.\n", priv->ndev->name);
 
-	IPW2100_DEBUG_INFO("TODO: only scan if scanning enabled and "
-	       "radio is on\n");
+	IPW2100_DEBUG_INFO("%s", "TODO: only scan if scanning enabled and radio is on\n");
 
-	IPW2100_DEBUG_INFO("TODO: Move broadcast_scan initiation to scheduled "
-	       "work\n");
+	IPW2100_DEBUG_INFO("%s", "TODO: Move broadcast_scan initiation to scheduled work\n");
 
 #if 0
 	ipw2100_hw_send_command(priv, &cmd);
@@ -1680,7 +1672,7 @@
 
 static void isr_scan_complete(struct ipw2100_priv *priv, u32 status)
 {
-	IPW2100_DEBUG_SCAN("scan complete\n");
+	IPW2100_DEBUG_SCAN("%s", "scan complete\n");
 	/* Age the scan results... */
 	priv->scans++;
 	priv->in_scan = 0;
@@ -1762,7 +1754,7 @@
 	wake_up_interruptible(&priv->wait_command_queue);
 
 #ifdef CONFIG_IPW2100_DEBUG
-	IPW2100_DEBUG_INFO("received command status:\n");
+	IPW2100_DEBUG_INFO("%s", "received command status:\n");
 	IPW2100_DEBUG_INFO("    CMD    = %d\n", cmd->host_command_reg);
 	IPW2100_DEBUG_INFO("    CMD1   = %08x\n", cmd->host_command_reg1);
 	IPW2100_DEBUG_INFO("    SEQ    = %d\n", cmd->sequence);
@@ -1776,7 +1768,7 @@
 	struct ieee80211_hdr *header,
 	struct ipw2100_status *status)
 {
-	IPW2100_DEBUG_RX("Ignoring control frame.\n");
+	IPW2100_DEBUG_RX("%s", "Ignoring control frame.\n");
 }
 
 static inline void isr_beacon_add(
@@ -1924,12 +1916,12 @@
 	}
 
 	if (list_empty(&priv->beacon_free_list)) {
-		IPW2100_DEBUG_SCAN("TODO: Expire oldest beacon to add new.\n");
+		IPW2100_DEBUG_SCAN("%s", "TODO: Expire oldest beacon to add new.\n");
 		printk(KERN_WARNING DRV_NAME ": Beacon free list is empty.\n");
 	} else 
 		isr_beacon_add(priv, new_beacon, rssi);
 
-	IPW2100_DEBUG_SCAN("exit\n");
+	IPW2100_DEBUG_SCAN("%s", "exit\n");
 }
 	
 static void isr_handle_mgt_packet(
@@ -1950,7 +1942,7 @@
 
 	case IEEE802_11_STYPE_PROBE_RESP:
 		msg = "PROBE RESPONSE";
-		IPW2100_DEBUG_SCAN("Probe response\n");
+		IPW2100_DEBUG_SCAN("%s", "Probe response\n");
 		isr_process_probe_response(
 			priv, (struct ieee80211_probe_response *)header,
 			status->rssi);
@@ -1958,7 +1950,7 @@
 
 	case IEEE802_11_STYPE_BEACON:
 		msg = "BEACON";
-		IPW2100_DEBUG_SCAN("Beacon\n");
+		IPW2100_DEBUG_SCAN("%s","Beacon\n");
 		isr_process_probe_response(
 			priv, (struct ieee80211_probe_response *)header,
 			status->rssi);
@@ -2201,7 +2193,7 @@
 		.mac_time = jiffies,
 	};
 
-	IPW2100_DEBUG_RX("Handler...\n");
+	IPW2100_DEBUG_RX("%s", "Handler...\n");
 
 	if (unlikely(status->frame_size > skb_tailroom(packet->skb))) {
 		printk(KERN_INFO "%s: frame_size (%u) > skb_tailroom (%u)!"
@@ -2245,7 +2237,7 @@
 		       "%s: Unable to allocate SKB onto RBD ring - disabling "
 		       "adapter.\n", priv->ndev->name);
 		/* TODO: schedule adapter shutdown */
-		IPW2100_DEBUG_INFO("TODO: Shutdown adapter...\n");
+		IPW2100_DEBUG_INFO("%s", "TODO: Shutdown adapter...\n");
 	}
 
 	/* Update the RDB entry */
@@ -2260,17 +2252,17 @@
 
 	switch (frame_type) {
 	case COMMAND_STATUS_VAL:
-		return (status->frame_size != sizeof(u->command));
+		return (status->frame_size != sizeof(u->rx_data.command));
 	case STATUS_CHANGE_VAL:
-		return (status->frame_size != sizeof(u->status));
+		return (status->frame_size != sizeof(u->rx_data.status));
 	case HOST_NOTIFICATION_VAL:
-		return (status->frame_size < sizeof(u->notification));
+		return (status->frame_size < sizeof(u->rx_data.notification));
 	case P80211_DATA_VAL:
 	case P8023_DATA_VAL:
 #ifdef CONFIG_IPW2100_PROMISC
 		return 0;
 #else
-		switch (WLAN_FC_GET_TYPE(u->header.frame_control)) {
+		switch (WLAN_FC_GET_TYPE(u->rx_data.header.frame_control)) {
 		case IEEE802_11_FTYPE_MGMT:
 		case IEEE802_11_FTYPE_CTL:
 			return 0;
@@ -2322,7 +2314,7 @@
 	read_register(priv->ndev, IPW_MEM_HOST_SHARED_RX_WRITE_INDEX, &w);
 	
 	if (r >= rxq->entries) {
-		IPW2100_DEBUG_RX("exit - bad read index\n");
+		IPW2100_DEBUG_RX("%s", "exit - bad read index\n");
 		return;
 	}
 
@@ -2364,11 +2356,11 @@
 		
 			switch (frame_type) {
 			case COMMAND_STATUS_VAL:
-				isr_rx_complete_command(priv, &u->command);
+				isr_rx_complete_command(priv, &u->rx_data.command);
 				break;
 				
 			case STATUS_CHANGE_VAL:
-				isr_status_change(priv, u->status);
+				isr_status_change(priv, u->rx_data.status);
 				break;
 				
 			case P80211_DATA_VAL:
@@ -2379,16 +2371,16 @@
 					break;
 				}
 #endif
-				if (frame_size < sizeof(u->header))
+				if (frame_size < sizeof(u->rx_data.header))
 					break;
-				switch (WLAN_FC_GET_TYPE(u->header.frame_control)) {
+				switch (WLAN_FC_GET_TYPE(u->rx_data.header.frame_control)) {
 				case IEEE802_11_FTYPE_MGMT:
-					isr_handle_mgt_packet(priv, &u->header,
+					isr_handle_mgt_packet(priv, &u->rx_data.header,
 							      &sq->drv[i]);
 					break;
 					
 				case IEEE802_11_FTYPE_CTL:
-					isr_handle_ctl_packet(priv, &u->header,
+					isr_handle_ctl_packet(priv, &u->rx_data.header,
 							      &sq->drv[i]);
 					break;
 					
@@ -2397,9 +2389,8 @@
 					 * interface is open */
 					if (!priv->open) {
 						priv->wstats.discard.misc++;
-						IPW2100_DEBUG_DROP(
-							"Dropping packet while "
-							"interface is not up.\n");
+						IPW2100_DEBUG_DROP("%s",
+							"Dropping packet while interface is not up.\n");
 						break;
 					}
 					
@@ -2412,7 +2403,7 @@
 		}
 
 		/* clear status field associated with this RBD */
-		rxq->drv[i].status.field = 0;
+		rxq->drv[i].status.info.field = 0;
 		
 		i = (i + 1) % rxq->entries;
 	}
@@ -2543,8 +2534,7 @@
 	 *
 	 */
 	if (!((r <= w && (e < r || e >= w)) || (e < r && e >= w))) { 
-		IPW2100_DEBUG_TX("exit - no processed packets ready to "
-				 "release.\n");
+		IPW2100_DEBUG_TX("%s", "exit - no processed packets ready to release.\n");
 		return 0;
 	}
 
@@ -2577,7 +2567,7 @@
  
 	switch (packet->type) {
 	case DATA:
-		if (txq->drv[txq->oldest].status.txType != 0) 
+		if (txq->drv[txq->oldest].status.info.fields.txType != 0) 
 			printk(KERN_WARNING "%s: Queue mismatch.  "
 			       "Expecting DATA TBD but pulled "
 			       "something else: ids %d=%d.\n", 
@@ -2600,9 +2590,9 @@
 					 PCI_DMA_TODEVICE);
 		}
 
-		priv->ieee->stats.tx_bytes += packet->txb->payload_size;
-		ieee80211_txb_free(packet->txb);
-		packet->txb = NULL;
+		priv->ieee->stats.tx_bytes += packet->info.d_struct.txb->payload_size;
+		ieee80211_txb_free(packet->info.d_struct.txb);
+		packet->info.d_struct.txb = NULL;
 
 		list_add_tail(element, &priv->tx_free_list);
 		INC_STAT(&priv->tx_free_stat);
@@ -2624,20 +2614,20 @@
 		break;
 
 	case COMMAND:
-		if (txq->drv[txq->oldest].status.txType != 1) 
+		if (txq->drv[txq->oldest].status.info.fields.txType != 1) 
 			printk(KERN_WARNING "%s: Queue mismatch.  "
 			       "Expecting COMMAND TBD but pulled "
 			       "something else: ids %d=%d.\n", 
 			       priv->ndev->name, txq->oldest, packet->index);
 
 #ifdef CONFIG_IPW2100_DEBUG
-		if (packet->cmd->host_command_reg <
+		if (packet->info.c_struct.cmd->host_command_reg <
 		    sizeof(command_types) / sizeof(*command_types)) 
 			IPW2100_DEBUG_TX(
 				"Command '%s (%d)' processed: %d.\n",
-				command_types[packet->cmd->host_command_reg],
-				packet->cmd->host_command_reg,
-				packet->cmd->cmd_status_reg);
+				command_types[packet->info.c_struct.cmd->host_command_reg],
+				packet->info.c_struct.cmd->host_command_reg,
+				packet->info.c_struct.cmd->cmd_status_reg);
 #endif
 
 		list_add_tail(element, &priv->msg_free_list);
@@ -2688,7 +2678,7 @@
 		 *       maintained between the r and w indexes
 		 */
 		if (txq->available <= 3) {
-			IPW2100_DEBUG_TX("no room in tx_queue\n");
+			IPW2100_DEBUG_TX("%s", "no room in tx_queue\n");
 			break;
 		}
 
@@ -2709,12 +2699,12 @@
 		tbd = &txq->drv[txq->next];
 
 		/* initialize TBD */
-		tbd->host_addr = packet->cmd_phys;
+		tbd->host_addr = packet->info.c_struct.cmd_phys;
 		tbd->buf_length = sizeof(struct ipw2100_cmd_header);
 		/* not marking number of fragments causes problems 
 		 * with f/w debug version */
 		tbd->num_fragments = 1;
-		tbd->status.field =
+		tbd->status.info.field =
 			IPW_BD_STATUS_TX_FRAME_COMMAND |
 			IPW_BD_STATUS_TX_INTERRUPT_ENABLE;
 
@@ -2762,7 +2752,7 @@
 		element = priv->tx_pend_list.next;
                 packet = list_entry(element, struct ipw2100_tx_packet, list);
 
-		if (unlikely(1 + packet->txb->nr_frags > IPW_MAX_BDS)) {
+		if (unlikely(1 + packet->info.d_struct.txb->nr_frags > IPW_MAX_BDS)) {
 			/* TODO: Support merging buffers if more than 
 			 * IPW_MAX_BDS are used */
 			printk(KERN_DEBUG 
@@ -2771,8 +2761,8 @@
 			       priv->ndev->name);
 		}
 
-		if (txq->available <= 3 + packet->txb->nr_frags) {
-			IPW2100_DEBUG_TX("no room in tx_queue\n");
+		if (txq->available <= 3 + packet->info.d_struct.txb->nr_frags) {
+			IPW2100_DEBUG_TX("%s", "no room in tx_queue\n");
 			break;
 		}
 
@@ -2783,10 +2773,10 @@
 
 		packet->index = txq->next;
 
-		tbd->host_addr = packet->data_phys;
+		tbd->host_addr = packet->info.d_struct.data_phys;
 		tbd->buf_length = sizeof(struct ipw2100_data_header);
-		tbd->num_fragments = 1 + packet->txb->nr_frags;
-		tbd->status.field =
+		tbd->num_fragments = 1 + packet->info.d_struct.txb->nr_frags;
+		tbd->status.info.field =
 			IPW_BD_STATUS_TX_FRAME_802_3 |
 			IPW_BD_STATUS_TX_FRAME_NOT_LAST_FRAGMENT;
 		txq->next++;
@@ -2797,27 +2787,27 @@
 			packet->index, tbd->host_addr, 
 			tbd->buf_length);
 #ifdef CONFIG_IPW2100_DEBUG
-		if (packet->txb->nr_frags > 1) 
+		if (packet->info.d_struct.txb->nr_frags > 1) 
 			IPW2100_DEBUG_FRAG("fragment Tx: %d frames\n", 
-					   packet->txb->nr_frags);
+					   packet->info.d_struct.txb->nr_frags);
 #endif
 
-                for (i = 0; i < packet->txb->nr_frags; i++) {
+                for (i = 0; i < packet->info.d_struct.txb->nr_frags; i++) {
 		        tbd = &txq->drv[txq->next];
-			if (i == packet->txb->nr_frags - 1) 
-				tbd->status.field = 
+			if (i == packet->info.d_struct.txb->nr_frags - 1) 
+				tbd->status.info.field = 
 					IPW_BD_STATUS_TX_FRAME_802_3 |
 					IPW_BD_STATUS_TX_INTERRUPT_ENABLE;
 			 else 
-				tbd->status.field =
+				tbd->status.info.field =
 					IPW_BD_STATUS_TX_FRAME_802_3 |
 					IPW_BD_STATUS_TX_FRAME_NOT_LAST_FRAGMENT;
 				
-			tbd->buf_length = packet->txb->fragments[i]->len;
+			tbd->buf_length = packet->info.d_struct.txb->fragments[i]->len;
  
                         tbd->host_addr = pci_map_single(
 				priv->pdev, 
-				packet->txb->fragments[i]->data,
+				packet->info.d_struct.txb->fragments[i]->data,
 				tbd->buf_length, 
 				PCI_DMA_TODEVICE);
 
@@ -2834,7 +2824,7 @@
 			txq->next %= txq->entries;
                 }
 		
-		txq->available -= 1 + packet->txb->nr_frags;
+		txq->available -= 1 + packet->info.d_struct.txb->nr_frags;
 		SET_STAT(&priv->txq_stat, txq->available);
 
 		list_add_tail(element, &priv->fw_pend_list);
@@ -2895,7 +2885,7 @@
 	}
 	
 	if (inta & IPW2100_INTA_PARITY_ERROR) {
-		IPW2100_DEBUG_ERROR("***** PARITY ERROR INTERRUPT !!!! \n");
+		IPW2100_DEBUG_ERROR("%s", "***** PARITY ERROR INTERRUPT !!!! \n");
 		priv->inta_other++;
 		write_register(
 			dev, IPW_REG_INTA, 
@@ -2903,7 +2893,7 @@
 	}
 
 	if (inta & IPW2100_INTA_RX_TRANSFER) {
-		IPW2100_DEBUG_ISR("RX interrupt\n");
+		IPW2100_DEBUG_ISR("%s", "RX interrupt\n");
 
 		priv->rx_interrupts++;
 
@@ -2916,7 +2906,7 @@
 	}
 	
 	if (inta & IPW2100_INTA_TX_TRANSFER) {
-		IPW2100_DEBUG_ISR("TX interrupt\n");
+		IPW2100_DEBUG_ISR("%s", "TX interrupt\n");
 
 		priv->tx_interrupts++;
 		
@@ -2929,7 +2919,7 @@
 	}
 	
 	if (inta & IPW2100_INTA_TX_COMPLETE) {
-		IPW2100_DEBUG_ISR("TX complete\n");
+		IPW2100_DEBUG_ISR("%s", "TX complete\n");
 		priv->inta_other++;
 		write_register(
 			dev, IPW_REG_INTA,
@@ -2947,7 +2937,7 @@
 	}
 	
 	if (inta & IPW2100_INTA_FW_INIT_DONE) {
-		IPW2100_DEBUG_ISR("FW init done interrupt\n");
+		IPW2100_DEBUG_ISR("%s", "FW init done interrupt\n");
 		priv->inta_other++;
 		
 		read_register(dev, IPW_REG_INTA, &tmp);
@@ -2964,7 +2954,7 @@
 	}
 	
 	if (inta & IPW2100_INTA_STATUS_CHANGE) {
-		IPW2100_DEBUG_ISR("Status change interrupt\n");
+		IPW2100_DEBUG_ISR("%s", "Status change interrupt\n");
 		priv->inta_other++;
 		write_register(
 			dev, IPW_REG_INTA,
@@ -2972,7 +2962,7 @@
 	}
 	
 	if (inta & IPW2100_INTA_SLAVE_MODE_HOST_COMMAND_DONE) {
-		IPW2100_DEBUG_ISR("slave host mode interrupt\n");
+		IPW2100_DEBUG_ISR("%s", "slave host mode interrupt\n");
 		priv->inta_other++;
 		write_register(
 			dev, IPW_REG_INTA,
@@ -2984,7 +2974,7 @@
 
 	spin_unlock_irqrestore(&priv->low_lock, flags);
 
-	IPW2100_DEBUG_ISR("exit\n");
+	IPW2100_DEBUG_ISR("%s", "exit\n");
 }
 
 
@@ -3003,7 +2993,7 @@
  	spin_lock_irqsave(&priv->low_lock, flags);
 
 	if (priv->irq_ignore) {
-		IPW2100_DEBUG_WARNING("IRQ ignored\n");
+		IPW2100_DEBUG_WARNING("%s", "IRQ ignored\n");
 		spin_unlock_irqrestore(&priv->low_lock, flags);
 		return IRQ_NONE;
 	}
@@ -3013,7 +3003,7 @@
 
 	if (inta == 0xFFFFFFFF) {
 		/* Hardware disappeared */
-		IPW2100_DEBUG_WARNING("IRQ INTA == 0xFFFFFFFF\n");
+		IPW2100_DEBUG_WARNING("%s", "IRQ INTA == 0xFFFFFFFF\n");
 		spin_unlock_irqrestore(&priv->low_lock, flags);
 		return IRQ_HANDLED;
 	}
@@ -3042,7 +3032,7 @@
 {
 	struct ipw2100_priv *priv = ipw2100_netdev(dev);
 	struct list_head *element;
-	struct ipw2100_data_header *header;
+	struct ipw2100_data_header *header = NULL;
 	struct ipw2100_tx_packet *packet;
 	unsigned long flags;
 	
@@ -3051,7 +3041,7 @@
 	if (!priv->connected) { 
 		/* TODO: check code to ensure that xmit disabled during
 		 * any call that results in priv->connected == false */
-		IPW2100_DEBUG_INFO("Can not transmit when not connected.\n");
+		IPW2100_DEBUG_INFO("%s", "Can not transmit when not connected.\n");
 		priv->ieee->stats.tx_carrier_errors++;
 		netif_stop_queue(dev);
 		goto fail_unlock;
@@ -3063,13 +3053,13 @@
 	element = priv->tx_free_list.next;
 	packet = list_entry(element, struct ipw2100_tx_packet, list);
 
-	header = packet->data;
+	header = packet->info.d_struct.data;
 	memcpy(header->dst_addr, skb->data, ETH_ALEN);
 	memcpy(header->src_addr, skb->data + ETH_ALEN, ETH_ALEN);
 
-	packet->txb = ieee80211_skb_to_txb(priv->ieee, skb);
-	if (packet->txb == NULL) {
-		IPW2100_DEBUG_DROP("Failed to Tx packet\n");
+	packet->info.d_struct.txb = ieee80211_skb_to_txb(priv->ieee, skb);
+	if (packet->info.d_struct.txb == NULL) {
+		IPW2100_DEBUG_DROP("%s", "Failed to Tx packet\n");
 		priv->ieee->stats.tx_errors++;
 		goto fail_unlock;
 	} 
@@ -3079,9 +3069,9 @@
 
 	/* For now we only support host based encryption */
 	header->needs_encryption = 0;
-	header->encrypted = packet->txb->encrypted;
-	if (packet->txb->nr_frags > 1)
-		header->fragment_size = packet->txb->frag_size;
+	header->encrypted = packet->info.d_struct.txb->encrypted;
+	if (packet->info.d_struct.txb->nr_frags > 1)
+		header->fragment_size = packet->info.d_struct.txb->frag_size;
 	else
 		header->fragment_size = 0;
 
@@ -3096,12 +3086,12 @@
 	X__ipw2100_tx_send_data(priv);
 	
 	spin_unlock_irqrestore(&priv->low_lock, flags);
-	IPW2100_DEBUG_INFO("exit\n");
+	IPW2100_DEBUG_INFO("%s", "exit\n");
 	return 0;
 
  fail_unlock:
 	netif_stop_queue(dev);
-	IPW2100_DEBUG_INFO("exit - failed\n");
+	IPW2100_DEBUG_INFO("%s", "exit - failed\n");
 	spin_unlock_irqrestore(&priv->low_lock, flags);
 	return 1;
 }
@@ -3139,9 +3129,9 @@
 		memset(v, 0, sizeof(struct ipw2100_cmd_header));
 		
 		priv->msg_buffers[i].type = COMMAND;
-		priv->msg_buffers[i].cmd = 
+		priv->msg_buffers[i].info.c_struct.cmd = 
 			(struct ipw2100_cmd_header*)v;
-		priv->msg_buffers[i].cmd_phys = p;
+		priv->msg_buffers[i].info.c_struct.cmd_phys = p;
 	}
 
 	if (i == IPW_COMMAND_POOL_SIZE)
@@ -3151,8 +3141,8 @@
 		pci_free_consistent(
 			priv->pdev,
 			sizeof(struct ipw2100_cmd_header), 
-			priv->msg_buffers[j].cmd,
-			priv->msg_buffers[j].cmd_phys);
+			priv->msg_buffers[j].info.c_struct.cmd,
+			priv->msg_buffers[j].info.c_struct.cmd_phys);
 	}
 	
 	kfree(priv->msg_buffers);
@@ -3185,8 +3175,8 @@
 	for (i = 0; i < IPW_COMMAND_POOL_SIZE; i++) {
 		pci_free_consistent(priv->pdev,
 				    sizeof(struct ipw2100_cmd_header),
-				    priv->msg_buffers[i].cmd,
-				    priv->msg_buffers[i].cmd_phys);
+				    priv->msg_buffers[i].info.c_struct.cmd,
+				    priv->msg_buffers[i].info.c_struct.cmd_phys);
 	}
 	
 	kfree(priv->msg_buffers);
@@ -3487,7 +3477,7 @@
 	char *p = buf;
 
 	if (copy_from_user(buf, buffer, len)) {
-		IPW2100_DEBUG_INFO("can't copy data from userspace\n");
+		IPW2100_DEBUG_INFO("%s", "can't copy data from userspace\n");
                 /* stupid? yes, but how do I signal an error here? */
 		return count;	
 	} else
@@ -3917,14 +3907,14 @@
 	struct net_device *dev = data;
 	struct ipw2100_priv *priv = ipw2100_netdev(dev);
 
-	IPW2100_DEBUG_INFO("enter\n");
+	IPW2100_DEBUG_INFO("%s", "enter\n");
 
 	read_register(dev, IPW_MEM_HOST_SHARED_TX_QUEUE_READ_INDEX(0),
 		      &tbdr_r);
 	read_register(dev, IPW_MEM_HOST_SHARED_TX_QUEUE_WRITE_INDEX(0),
 		      &tbdr_w);
 
-	IPW2100_DEBUG_INFO("after register read\n");
+	IPW2100_DEBUG_INFO("%s", "after register read\n");
 
 	len += snprintf(page, count,
 			"Tx Queue\nnic:\n\tread  index=%d\n\twrite index=%d\n",
@@ -3935,7 +3925,7 @@
 			priv->tx_queue.next);
 	*eof = 1;
 
-	IPW2100_DEBUG_INFO("exit\n");
+	IPW2100_DEBUG_INFO("%s", "exit\n");
 
 	return len;
 }
@@ -3950,12 +3940,12 @@
 	struct net_device *dev = data;
 	struct ipw2100_priv *priv = ipw2100_netdev(dev);
 
-	IPW2100_DEBUG_INFO("enter\n");
+	IPW2100_DEBUG_INFO("%s", "enter\n");
 
 	read_register(dev, IPW_MEM_HOST_SHARED_RX_READ_INDEX, &rbdr_r);
 	read_register(dev, IPW_MEM_HOST_SHARED_RX_WRITE_INDEX, &rbdr_w);
 
-	IPW2100_DEBUG_INFO("after register read\n");
+	IPW2100_DEBUG_INFO("%s", "after register read\n");
 
 	len += snprintf(page, count,
 			"Rx Queue\nnic:\n\tread  index=%d\n\twrite index=%d\n",
@@ -3966,7 +3956,7 @@
 
 	*eof = 1;
 
-	IPW2100_DEBUG_INFO("exit\n");
+	IPW2100_DEBUG_INFO("%s", "exit\n");
 
 	return len;
 }
@@ -4011,7 +4001,7 @@
 	int i;
 
 	if (copy_from_user(buf, buffer, len)) {
-		IPW2100_DEBUG_INFO("can't copy data from userspace\n");
+		IPW2100_DEBUG_INFO("%s", "can't copy data from userspace\n");
 		return count;	
 	} else
 		buf[len] = 0;
@@ -4141,10 +4131,10 @@
 	u32 val;
 	char *p = buf;
 
-	IPW2100_DEBUG_INFO("enter\n");
+	IPW2100_DEBUG_INFO("%s", "enter\n");
 
 	if (copy_from_user(buf, buffer, len)) {
-		IPW2100_DEBUG_INFO("can't copy data from userspace\n");
+		IPW2100_DEBUG_INFO("%s", "can't copy data from userspace\n");
                 /* stupid? yes, but how do I signal an error here? */
 		return count;	
 	} else
@@ -4165,7 +4155,7 @@
 		IPW2100_DEBUG_INFO("set mem addr = 0x%08x\n", val);
 	}
 	
-	IPW2100_DEBUG_INFO("exit\n");
+	IPW2100_DEBUG_INFO("%s", "exit\n");
 	return count;
 }
 
@@ -4198,10 +4188,10 @@
 	unsigned long val;
 	char *p = buf;
 
-	IPW2100_DEBUG_INFO("enter\n");
+	IPW2100_DEBUG_INFO("%s", "enter\n");
 
 	if (copy_from_user(buf, buffer, len)) {
-		IPW2100_DEBUG_INFO("can't copy data from userspace\n");
+		IPW2100_DEBUG_INFO("%s", "can't copy data from userspace\n");
                 /* stupid? yes, but how do I signal an error here? */
 		return count;	
 	} else
@@ -4222,7 +4212,7 @@
 		IPW2100_DEBUG_INFO("set scan_age = %lu\n", priv->scan_age);
 	}
 	
-	IPW2100_DEBUG_INFO("exit\n");
+	IPW2100_DEBUG_INFO("%s", "exit\n");
 	return count;
 }
 
@@ -4470,7 +4460,7 @@
 
 int ipw2100_proc_init(void)
 {
-	IPW2100_DEBUG_INFO("enter\n");
+	IPW2100_DEBUG_INFO("%s", "enter\n");
 
 	ipw2100_proc = create_proc_entry(DRV_NAME, S_IFDIR, proc_net);
 	if (ipw2100_proc == NULL) {
@@ -4497,20 +4487,20 @@
 	}
 #endif /* CONFIG_IPW2100_DEBUG */
 
-	IPW2100_DEBUG_INFO("exit\n");
+	IPW2100_DEBUG_INFO("%s", "exit\n");
 
 	return 0;
 
  fail:
 	ipw2100_proc_cleanup();
-	IPW2100_DEBUG_INFO("exit on fail\n");
+	IPW2100_DEBUG_INFO("%s", "exit on fail\n");
 	
 	return -ENOMEM;
 }
 
 void ipw2100_proc_cleanup(void)
 {
-	IPW2100_DEBUG_INFO("enter\n");
+	IPW2100_DEBUG_INFO("%s", "enter\n");
 
 	if (ipw2100_proc) {
 #ifdef CONFIG_IPW2100_DEBUG
@@ -4520,7 +4510,7 @@
 		ipw2100_proc = NULL;
 	}
 
-	IPW2100_DEBUG_INFO("exit\n");
+	IPW2100_DEBUG_INFO("%s", "exit\n");
 }
 
 
@@ -4528,7 +4518,7 @@
 {
 	struct ipw2100_status_queue *q = &priv->status_queue;
 
-	IPW2100_DEBUG_INFO("enter\n");
+	IPW2100_DEBUG_INFO("%s", "enter\n");
 
 	q->size = entries * sizeof(struct ipw2100_status);
 	q->drv = (struct ipw2100_status *)pci_alloc_consistent(
@@ -4541,14 +4531,14 @@
 
 	memset(q->drv, 0, q->size);
 
-	IPW2100_DEBUG_INFO("exit\n");
+	IPW2100_DEBUG_INFO("%s", "exit\n");
 
 	return 0;
 }
 
 static void status_queue_free(struct ipw2100_priv *priv)
 {
-	IPW2100_DEBUG_INFO("enter\n");
+	IPW2100_DEBUG_INFO("%s", "enter\n");
 
 	if (priv->status_queue.drv) {
 		pci_free_consistent(
@@ -4557,13 +4547,13 @@
 		priv->status_queue.drv = NULL;
 	}
 
-	IPW2100_DEBUG_INFO("exit\n");
+	IPW2100_DEBUG_INFO("%s", "exit\n");
 }
 
 static int bd_queue_allocate(struct ipw2100_priv *priv,
 			     struct ipw2100_bd_queue *q, int entries)
 {
-	IPW2100_DEBUG_INFO("enter\n");
+	IPW2100_DEBUG_INFO("%s", "enter\n");
 
 	memset(q, 0, sizeof(struct ipw2100_bd_queue));
 
@@ -4571,13 +4561,12 @@
 	q->size = entries * sizeof(struct ipw2100_bd);
 	q->drv = pci_alloc_consistent(priv->pdev, q->size, &q->nic);
 	if (!q->drv) {
-		IPW2100_DEBUG_INFO("can't allocate shared memory for "
-		       "buffer descriptors\n");
+		IPW2100_DEBUG_INFO("%s", "can't allocate shared memory for buffer descriptors\n");
 		return -ENOMEM;
 	}
 	memset(q->drv, 0, q->size);
 
-	IPW2100_DEBUG_INFO("exit\n");
+	IPW2100_DEBUG_INFO("%s", "exit\n");
 
 	return 0;
 }
@@ -4585,7 +4574,7 @@
 static void bd_queue_free(struct ipw2100_priv *priv,
 			  struct ipw2100_bd_queue *q)
 {
-	IPW2100_DEBUG_INFO("enter\n");
+	IPW2100_DEBUG_INFO("%s", "enter\n");
 
 	if (!q)
 		return;
@@ -4596,14 +4585,14 @@
 		q->drv = NULL;
 	}
 
-	IPW2100_DEBUG_INFO("exit\n");
+	IPW2100_DEBUG_INFO("%s", "exit\n");
 }
 
 static void bd_queue_initialize(
 	struct ipw2100_priv *priv, struct ipw2100_bd_queue * q,
 	u32 base, u32 size, u32 r, u32 w)
 {
-	IPW2100_DEBUG_INFO("enter\n");
+	IPW2100_DEBUG_INFO("%s", "enter\n");
 
 	IPW2100_DEBUG_INFO("initializing bd queue at virt=%p, phys=%08x\n", q->drv, q->nic);
 
@@ -4612,7 +4601,7 @@
 	write_register(priv->ndev, r, q->oldest);
 	write_register(priv->ndev, w, q->next);
 
-	IPW2100_DEBUG_INFO("exit\n");
+	IPW2100_DEBUG_INFO("%s", "exit\n");
 }
 
 static int ipw2100_tx_allocate(struct ipw2100_priv *priv)
@@ -4621,7 +4610,7 @@
 	void *v;
 	dma_addr_t p;
 
-	IPW2100_DEBUG_INFO("enter\n");
+	IPW2100_DEBUG_INFO("%s", "enter\n");
 
 	err = bd_queue_allocate(priv, &priv->tx_queue, TX_QUEUE_LENGTH);
 	if (err) {
@@ -4651,9 +4640,9 @@
 		}
 
 		priv->tx_buffers[i].type = DATA;
-		priv->tx_buffers[i].data = (struct ipw2100_data_header*)v;
-		priv->tx_buffers[i].data_phys = p;
-		priv->tx_buffers[i].txb = NULL;
+		priv->tx_buffers[i].info.d_struct.data = (struct ipw2100_data_header*)v;
+		priv->tx_buffers[i].info.d_struct.data_phys = p;
+		priv->tx_buffers[i].info.d_struct.txb = NULL;
 	}
 	
 	if (i == TX_PENDED_QUEUE_LENGTH)
@@ -4663,8 +4652,8 @@
 		pci_free_consistent(
 			priv->pdev,
 			sizeof(struct ipw2100_data_header), 
-			priv->tx_buffers[j].data,
-			priv->tx_buffers[j].data_phys);
+			priv->tx_buffers[j].info.d_struct.data,
+			priv->tx_buffers[j].info.d_struct.data_phys);
 	}
 	
 	kfree(priv->tx_buffers);
@@ -4677,7 +4666,7 @@
 {
 	int i;
 
-	IPW2100_DEBUG_INFO("enter\n");
+	IPW2100_DEBUG_INFO("%s", "enter\n");
 
 	/*
 	 * reinitialize packet info lists
@@ -4696,9 +4685,9 @@
 	for (i = 0; i < TX_PENDED_QUEUE_LENGTH; i++) {
 		/* We simply drop any SKBs that have been queued for
 		 * transmit */
-		if (priv->tx_buffers[i].txb) {
-			ieee80211_txb_free(priv->tx_buffers[i].txb);
-			priv->tx_buffers[i].txb = NULL;
+		if (priv->tx_buffers[i].info.d_struct.txb) {
+			ieee80211_txb_free(priv->tx_buffers[i].info.d_struct.txb);
+			priv->tx_buffers[i].info.d_struct.txb = NULL;
 		}
 		
 		list_add_tail(&priv->tx_buffers[i].list, &priv->tx_free_list);
@@ -4718,7 +4707,7 @@
 			    IPW_MEM_HOST_SHARED_TX_QUEUE_READ_INDEX(0),
 			    IPW_MEM_HOST_SHARED_TX_QUEUE_WRITE_INDEX(0));
 
-	IPW2100_DEBUG_INFO("exit\n");
+	IPW2100_DEBUG_INFO("%s", "exit\n");
 
 }
 
@@ -4726,7 +4715,7 @@
 {
 	int i;
 
-	IPW2100_DEBUG_INFO("enter\n");
+	IPW2100_DEBUG_INFO("%s", "enter\n");
 
 	bd_queue_free(priv, &priv->tx_queue);
 
@@ -4734,22 +4723,22 @@
 		return;
 
 	for (i = 0; i < TX_PENDED_QUEUE_LENGTH; i++) {
-		if (priv->tx_buffers[i].txb) {
-			ieee80211_txb_free(priv->tx_buffers[i].txb);
-			priv->tx_buffers[i].txb = NULL;
+		if (priv->tx_buffers[i].info.d_struct.txb) {
+			ieee80211_txb_free(priv->tx_buffers[i].info.d_struct.txb);
+			priv->tx_buffers[i].info.d_struct.txb = NULL;
 		}
-		if (priv->tx_buffers[i].data)
+		if (priv->tx_buffers[i].info.d_struct.data)
 			pci_free_consistent(
 				priv->pdev,
 				sizeof(struct ipw2100_data_header),
-				priv->tx_buffers[i].data,
-				priv->tx_buffers[i].data_phys);
+				priv->tx_buffers[i].info.d_struct.data,
+				priv->tx_buffers[i].info.d_struct.data_phys);
 	}
 	
 	kfree(priv->tx_buffers);
 	priv->tx_buffers = NULL;
 
-	IPW2100_DEBUG_INFO("exit\n");
+	IPW2100_DEBUG_INFO("%s", "exit\n");
 }
 
 
@@ -4758,17 +4747,17 @@
 {
 	int i, j, err = -EINVAL;
 
-	IPW2100_DEBUG_INFO("enter\n");
+	IPW2100_DEBUG_INFO("%s", "enter\n");
 
 	err = bd_queue_allocate(priv, &priv->rx_queue, RX_QUEUE_LENGTH);
 	if (err) {
-		IPW2100_DEBUG_INFO("failed bd_queue_allocate\n");
+		IPW2100_DEBUG_INFO("%s", "failed bd_queue_allocate\n");
 		return err;
 	}
 
 	err = status_queue_allocate(priv, RX_QUEUE_LENGTH);
 	if (err) {
-		IPW2100_DEBUG_INFO("failed status_queue_allocate\n");
+		IPW2100_DEBUG_INFO("%s", "failed status_queue_allocate\n");
 		bd_queue_free(priv, &priv->rx_queue);
 		return err;
 	}
@@ -4780,7 +4769,7 @@
 	    kmalloc(RX_QUEUE_LENGTH * sizeof(struct ipw2100_rx_packet), 
 		    GFP_KERNEL);
 	if (!priv->rx_buffers) {
-		IPW2100_DEBUG_INFO("can't allocate rx packet buffer table\n");
+		IPW2100_DEBUG_INFO("%s", "can't allocate rx packet buffer table\n");
 
 		bd_queue_free(priv, &priv->rx_queue);
 
@@ -4826,7 +4815,7 @@
 
 static void ipw2100_rx_initialize(struct ipw2100_priv *priv)
 {
-	IPW2100_DEBUG_INFO("enter\n");
+	IPW2100_DEBUG_INFO("%s", "enter\n");
 
 	priv->rx_queue.oldest = 0;
 	priv->rx_queue.available = priv->rx_queue.entries - 1;
@@ -4845,14 +4834,14 @@
 	write_register(priv->ndev, IPW_MEM_HOST_SHARED_RX_STATUS_BASE,
 		       priv->status_queue.nic);
 
-	IPW2100_DEBUG_INFO("exit\n");
+	IPW2100_DEBUG_INFO("%s", "exit\n");
 }
 
 static void ipw2100_rx_free(struct ipw2100_priv *priv)
 {
 	int i;
 
-	IPW2100_DEBUG_INFO("enter\n");
+	IPW2100_DEBUG_INFO("%s", "enter\n");
 
 	bd_queue_free(priv, &priv->rx_queue);
 	status_queue_free(priv);
@@ -4873,7 +4862,7 @@
 	kfree(priv->rx_buffers);
 	priv->rx_buffers = NULL;
 
-	IPW2100_DEBUG_INFO("exit\n");
+	IPW2100_DEBUG_INFO("%s", "exit\n");
 }
 
 static int ipw2100_read_mac_address(struct ipw2100_priv *priv)
@@ -4886,7 +4875,7 @@
 	err = ipw2100_get_ordinal(priv, IPW_ORD_STAT_ADAPTER_MAC, 
 				  mac, &length);
 	if (err) {
-		IPW2100_DEBUG_INFO("MAC address read failed\n");
+		IPW2100_DEBUG_INFO("%s", "MAC address read failed\n");
 		return -EIO;
 	}
 	IPW2100_DEBUG_INFO("card MAC is %02X:%02X:%02X:%02X:%02X:%02X\n",
@@ -4907,31 +4896,32 @@
 	struct host_command cmd = {
 		.host_command = BROADCAST_SCAN,
 		.host_command_sequence = 0,
-		.host_command_length = 4,
-		.host_command_parameters[0] = 0
+		.host_command_length = 4
 	};
 	int err;
 
+    cmd.host_command_parameters[0] = 0;
+
 	/* No scanning if in monitor mode */
 	if (priv->ctx->port_type == MONITOR)
 		return 1;
 
 	if (priv->in_scan) {
-		IPW2100_DEBUG_SCAN("Scan requested while already in scan...\n");
+		IPW2100_DEBUG_SCAN("%s", "Scan requested while already in scan...\n");
 		return 0;
 	}
 
-	IPW2100_DEBUG_INFO("enter\n");
+	IPW2100_DEBUG_INFO("%s", "enter\n");
 
 	/* Not clearing here; doing so makes iwlist always return nothing... 
 	 *
 	 * We should modify the table logic to use aging tables vs. clearing 
 	 * the table on each scan start.
 	 */
-	IPW2100_DEBUG_SCAN("starting scan\n");
+	IPW2100_DEBUG_SCAN("%s", "starting scan\n");
 	err =  ipw2100_hw_send_command(priv, &cmd);
 
-	IPW2100_DEBUG_INFO("exit\n");
+	IPW2100_DEBUG_INFO("%s", "exit\n");
 
 	return err;
 }
@@ -4945,7 +4935,7 @@
 	};
 	int err;
 
-	IPW2100_DEBUG_INFO("enter\n");
+	IPW2100_DEBUG_INFO("%s", "enter\n");
 
 	if (priv->custom_addr) {
 		memcpy(cmd.host_command_parameters, priv->mac_addr,
@@ -4957,7 +4947,7 @@
 
 	err = ipw2100_hw_send_command(priv, &cmd);
 
-	IPW2100_DEBUG_INFO("exit\n");
+	IPW2100_DEBUG_INFO("%s", "exit\n");
 	return err;
 }
 
@@ -4967,11 +4957,12 @@
 	struct host_command cmd = {
 		.host_command = PORT_TYPE,
 		.host_command_sequence = 0,
-		.host_command_length = sizeof(u32),
-		.host_command_parameters[0] = port_type
+		.host_command_length = sizeof(u32)
 	};
 	int err;
 
+	cmd.host_command_parameters[0] = port_type;
+
 	IPW2100_DEBUG_FW_COMMAND("PORT_TYPE: %s\n",
 				 port_type == IBSS ? "IBSS" : "BSS");
 	if (!batch_mode) {
@@ -5002,11 +4993,12 @@
 	struct host_command cmd = {
 		.host_command = CHANNEL,
 		.host_command_sequence = 0,
-		.host_command_length = sizeof(u32),
-		.host_command_parameters[0] = channel
+		.host_command_length = sizeof(u32)
 	};
 	int err;
 
+	cmd.host_command_parameters[0] = channel;
+
 	IPW2100_DEBUG_FW_COMMAND("CHANNEL: %d\n", channel);
 
 	/* If not BSS then we don't support channel selection */
@@ -5107,11 +5099,12 @@
 	struct host_command cmd = {
 		.host_command = BASIC_TX_RATES,
 		.host_command_sequence = 0,
-		.host_command_length = 4,
-		.host_command_parameters[0] = rate & TX_RATE_MASK
+		.host_command_length = 4
 	};
 	int err;
 
+	cmd.host_command_parameters[0] = rate & TX_RATE_MASK;
+
 	if (!batch_mode) {
 		err = ipw2100_disable_adapter(priv);
 		if (err) 
@@ -5146,11 +5139,12 @@
 	struct host_command cmd = {
 		.host_command = POWER_MODE,
 		.host_command_sequence = 0,
-		.host_command_length = 4,
-		.host_command_parameters[0] = power_level
+		.host_command_length = 4
 	};
 	int err;
 
+	cmd.host_command_parameters[0] = power_level;
+
 	err = ipw2100_hw_send_command(priv, &cmd);
 	if (err)
 		return err;
@@ -5177,11 +5171,12 @@
 	struct host_command cmd = {
 		.host_command = RTS_THRESHOLD,
 		.host_command_sequence = 0,
-		.host_command_length = 4,
-		.host_command_parameters[0] = threshold
+		.host_command_length = 4
 	};
 	int err;
 
+	cmd.host_command_parameters[0] = threshold;
+
 	err = ipw2100_hw_send_command(priv, &cmd);
 	if (err) 
 		return err;
@@ -5237,10 +5232,11 @@
 	struct host_command cmd = {
 		.host_command = SHORT_RETRY_LIMIT,
 		.host_command_sequence = 0,
-		.host_command_length = 4,
-		.host_command_parameters[0] = retry
+		.host_command_length = 4
 	};
 	int err;
+
+	cmd.host_command_parameters[0] = retry;
 	
 	err = ipw2100_hw_send_command(priv, &cmd);
 	if (err)
@@ -5256,11 +5252,12 @@
 	struct host_command cmd = {
 		.host_command = LONG_RETRY_LIMIT,
 		.host_command_sequence = 0,
-		.host_command_length = 4,
-		.host_command_parameters[0] = retry
+		.host_command_length = 4
 	};
 	int err;
 
+	cmd.host_command_parameters[0] = retry;
+
 	err = ipw2100_hw_send_command(priv, &cmd);
 	if (err) 
 		return err;
@@ -5288,7 +5285,7 @@
 			bssid[0], bssid[1], bssid[2], bssid[3], bssid[4], 
 			bssid[5]);
 	else
-		IPW2100_DEBUG_FW_COMMAND("MANDATORY_BSSID: <clear>\n");
+		IPW2100_DEBUG_FW_COMMAND("%s", "MANDATORY_BSSID: <clear>\n");
 #endif
 	/* if BSSID is empty then we disable mandatory bssid mode */
 	if (bssid != NULL)
@@ -5434,19 +5431,20 @@
 	struct host_command cmd = {
 	  .host_command = TX_POWER_INDEX,
 		.host_command_sequence = 0,
-		.host_command_length = 4,
-		.host_command_parameters[0] = tx_power
+		.host_command_length = 4
 	};
 	int err = 0;
 
-	IPW2100_DEBUG_INFO("enter\n");
+	cmd.host_command_parameters[0] = tx_power;
+
+	IPW2100_DEBUG_INFO("%s", "enter\n");
 	
 	if (priv->port_type == IBSS) 
 		err = ipw2100_hw_send_command(priv, &cmd);
 	if (!err)
 		priv->tx_power = tx_power;
 	
-	IPW2100_DEBUG_INFO("exit\n");
+	IPW2100_DEBUG_INFO("%s", "exit\n");
 	
 	return 0;
 }
@@ -5457,12 +5455,13 @@
 	struct host_command cmd = {
 		.host_command = BEACON_INTERVAL,
 		.host_command_sequence = 0,
-		.host_command_length = 4,
-		.host_command_parameters[0] = interval
+		.host_command_length = 4
 	};
 	int err;
 
-	IPW2100_DEBUG_INFO("enter\n");
+	cmd.host_command_parameters[0] = interval;
+
+	IPW2100_DEBUG_INFO("%s", "enter\n");
 
 	if (priv->port_type == IBSS) {
 		if (!batch_mode) {
@@ -5480,7 +5479,7 @@
 		}
 	}
 
-	IPW2100_DEBUG_INFO("exit\n");
+	IPW2100_DEBUG_INFO("%s", "exit\n");
 
 	return 0;
 }
@@ -5490,19 +5489,20 @@
 	struct host_command cmd = {
 		.host_command = SET_SCAN_OPTIONS,
 		.host_command_sequence = 0,
-		.host_command_length = 8,
-		.host_command_parameters[0] = priv->sec.enabled ? 0x2 : 0x0,
-		.host_command_parameters[1] = 0
+		.host_command_length = 8
 	};
 	int err;
 
-	IPW2100_DEBUG_INFO("enter\n");
+	cmd.host_command_parameters[0] = priv->sec.enabled ? 0x2 : 0x0;
+	cmd.host_command_parameters[1] = 0;
+
+	IPW2100_DEBUG_INFO("%s", "enter\n");
 
-	IPW2100_DEBUG_SCAN("setting scan options\n");
+	IPW2100_DEBUG_SCAN("%s", "setting scan options\n");
 
 	err = ipw2100_hw_send_command(priv, &cmd);
 
-	IPW2100_DEBUG_INFO("exit\n");
+	IPW2100_DEBUG_INFO("%s", "exit\n");
 
 	return err;
 }
@@ -5546,11 +5546,12 @@
 	struct host_command cmd = {
 		.host_command = WEP_FLAGS,
 		.host_command_sequence = 0,
-		.host_command_length = 4,
-		.host_command_parameters[0] = flags,
+		.host_command_length = 4
 	};
 	int err;
 
+	cmd.host_command_parameters[0] = flags;
+
 	IPW2100_DEBUG_FW_COMMAND("WEP_FLAGS: flags = 0x%08X\n", flags);
 	
 	if (!batch_mode) {
@@ -5818,7 +5819,7 @@
 	int err;
 	int batch_mode = 1;
 
-	IPW2100_DEBUG_INFO("enter\n");
+	IPW2100_DEBUG_INFO("%s", "enter\n");
 
 	err = ipw2100_disable_adapter(priv);
 	if (err)
@@ -5829,7 +5830,7 @@
 		if (err)
 			return err;
 
-		IPW2100_DEBUG_INFO("exit\n");
+		IPW2100_DEBUG_INFO("%s", "exit\n");
 
 		return 0;
 	}
@@ -5903,7 +5904,7 @@
 	  return err;
 	*/
 	
-	IPW2100_DEBUG_INFO("exit\n");
+	IPW2100_DEBUG_INFO("%s", "exit\n");
 
 	return 0;
 }
@@ -5945,7 +5946,7 @@
 	struct ipw2100_priv *priv = ipw2100_netdev(dev);
 	unsigned long flags;
 
-	IPW2100_DEBUG_INFO("enter\n");
+	IPW2100_DEBUG_INFO("%s", "enter\n");
 	
 #if LINUX_VERSION_CODE < KERNEL_VERSION(2,6,0)
 	MOD_INC_USE_COUNT;
@@ -5955,7 +5956,7 @@
 	priv->open = 1;
 	spin_unlock_irqrestore(&priv->low_lock, flags);
 
-	IPW2100_DEBUG_INFO("exit\n");
+	IPW2100_DEBUG_INFO("%s", "exit\n");
 	return 0;
 }
 
@@ -5966,7 +5967,7 @@
 	struct list_head *element;
 	struct ipw2100_tx_packet *packet;
 
-	IPW2100_DEBUG_INFO("enter\n");
+	IPW2100_DEBUG_INFO("%s", "enter\n");
 
 	spin_lock_irqsave(&priv->low_lock, flags);
 
@@ -5983,8 +5984,8 @@
 		list_del(element);
 		DEC_STAT(&priv->tx_pend_stat);
 
-		ieee80211_txb_free(packet->txb);
-		packet->txb = NULL;
+		ieee80211_txb_free(packet->info.d_struct.txb);
+		packet->info.d_struct.txb = NULL;
 
 		list_add_tail(element, &priv->tx_free_list);
 		INC_STAT(&priv->tx_free_stat);
@@ -5995,7 +5996,7 @@
 	MOD_DEC_USE_COUNT;
 #endif
 
-	IPW2100_DEBUG_INFO("exit\n");
+	IPW2100_DEBUG_INFO("%s", "exit\n");
 
 	return 0;
 }
@@ -6016,7 +6017,7 @@
 #ifdef CONFIG_IPW2100_PROMISC
 	// we do nothing as we should not be transmitting anyway
 	if (priv->ctx->port_type == MONITOR) {
-		IPW2100_DEBUG_TX("exit - monitor mode\n");
+		IPW2100_DEBUG_TX("%s", "exit - monitor mode\n");
 		return;
 	}
 #endif
@@ -6027,7 +6028,7 @@
 	       dev->name);
 	schedule_reset(priv);
 
-	IPW2100_DEBUG_TX("exit\n");
+	IPW2100_DEBUG_TX("%s", "exit\n");
 }
 
 
@@ -6056,9 +6057,9 @@
 
 static int ipw2100_ioctl(struct net_device *dev, struct ifreq *rq, int cmd)
 {
-	IPW2100_DEBUG_IOCTL("enter\n");
+	IPW2100_DEBUG_IOCTL("%s", "enter\n");
 
-	IPW2100_DEBUG_IOCTL("exit\n");
+	IPW2100_DEBUG_IOCTL("%s", "exit\n");
 	return -EOPNOTSUPP;
 }
 
@@ -6328,7 +6329,7 @@
 	int registered = 0;
 	u32 val;
 
-	IPW2100_DEBUG_INFO("enter\n");
+	IPW2100_DEBUG_INFO("%s", "enter\n");
 
 	/* set up PCI mappings for device */
 	err = pci_enable_device(pdev);
@@ -6339,7 +6340,7 @@
 
 	err = pci_set_dma_mask(pdev, PCI_DMA_32BIT);
 	if (err) {
-		IPW2100_DEBUG_INFO("failed pci_set_dma_mask!\n");
+		IPW2100_DEBUG_INFO("%s", "failed pci_set_dma_mask!\n");
 		pci_disable_device(pdev);
 		return err;
 	}
@@ -6363,7 +6364,7 @@
 	mem_flags = pci_resource_flags(pdev, 0);
 
 	if ((mem_flags & IORESOURCE_MEM) != IORESOURCE_MEM) {
-		IPW2100_DEBUG_INFO("weird - resource type is not memory\n");
+		IPW2100_DEBUG_INFO("%s", "weird - resource type is not memory\n");
 		err = -ENODEV;
 		goto fail;
 	}
@@ -6426,7 +6427,7 @@
 	}
 	dev->irq = pdev->irq;
 
-	IPW2100_DEBUG_INFO("Attempting to register device...\n");
+	IPW2100_DEBUG_INFO("%s", "Attempting to register device...\n");
 
 	SET_MODULE_OWNER(dev);
 
@@ -6481,7 +6482,7 @@
 		ipw2100_start_scan(priv);
 	}
 
-	IPW2100_DEBUG_INFO("exit\n");
+	IPW2100_DEBUG_INFO("%s", "exit\n");
 
 	return 0;
 	
@@ -6565,7 +6566,7 @@
 	pci_release_regions(pdev);
 	pci_disable_device(pdev);
 
-	IPW2100_DEBUG_INFO("exit\n");
+	IPW2100_DEBUG_INFO("%s", "exit\n");
 }
 
 #ifdef CONFIG_PM
diff -ru ipw2100-0.49/ipw2100_wx.c ipw2100-0.49-mod/ipw2100_wx.c
--- ipw2100-0.49/ipw2100_wx.c	Fri Jul  9 00:32:17 2004
+++ ipw2100-0.49-mod/ipw2100_wx.c	Wed Jul 14 12:51:49 2004
@@ -169,7 +169,7 @@
 
 	err = ipw2100_get_ordinal(priv, IPW_ORD_OUR_FREQ, &chan, &len);
 	if (err) {
-		IPW2100_DEBUG_WX("failed querying ordinals.\n");
+		IPW2100_DEBUG_WX("%s", "failed querying ordinals.\n");
 		return err;
 	}
 
@@ -385,7 +385,7 @@
 	}
 	range->num_frequency = val;
 
-	IPW2100_DEBUG_WX("GET Range\n");
+	IPW2100_DEBUG_WX("%s", "GET Range\n");
 
 	return 0;
 }
@@ -411,7 +411,7 @@
 	if (!memcmp(any, wrqu->ap_addr.sa_data, ETH_ALEN) ||
 	    !memcmp(off, wrqu->ap_addr.sa_data, ETH_ALEN)) {
 		/* we disable mandatory BSSID association */
-		IPW2100_DEBUG_WX("exit - disable mandatory BSSID\n");
+		IPW2100_DEBUG_WX("%s", "exit - disable mandatory BSSID\n");
 		return ipw2100_set_mandatory_bssid(priv, NULL, 0);
 	}
 
@@ -470,7 +470,7 @@
 	char *essid = ""; /* ANY */
 	int err;
   
-	IPW2100_DEBUG_WX("enter\n");
+	IPW2100_DEBUG_WX("%s", "enter\n");
 	if (wrqu->essid.flags && wrqu->essid.length)
 		essid = extra;
 	
@@ -482,11 +482,11 @@
 	
 	err = ipw2100_set_essid(priv, essid, 0);
 	if (err) {
-		IPW2100_DEBUG_WX("SET SSID failed\n");
+		IPW2100_DEBUG_WX("%s", "SET SSID failed\n");
 		return err;
 	}
 	
-	IPW2100_DEBUG_WX("exit\n");
+	IPW2100_DEBUG_WX("%s", "exit\n");
 	
 	return 0;
 }
@@ -566,7 +566,7 @@
 	
 	err = ipw2100_set_tx_rates(priv, rate, 0);
 	if (err) {
-		IPW2100_DEBUG_WX("failed setting tx rates.\n");
+		IPW2100_DEBUG_WX("%s", "failed setting tx rates.\n");
 		return err;
 	}
 	
@@ -591,7 +591,7 @@
 
 	err = ipw2100_get_ordinal(priv, IPW_ORD_CURRENT_TX_RATE, &val, &len);
 	if (err) {
-		IPW2100_DEBUG_WX("failed querying ordinals.\n");
+		IPW2100_DEBUG_WX("%s", "failed querying ordinals.\n");
 		return err;
 	}
 
@@ -651,7 +651,7 @@
 		err = ipw2100_get_ordinal(priv, IPW_ORD_RTS_THRESHOLD, 
 					  &wrqu->rts.value, &len);
 		if (err) {
-			IPW2100_DEBUG_WX("query ordinal failed.\n");
+			IPW2100_DEBUG_WX("%s", "query ordinal failed.\n");
 			return err;
 		}
 	}
@@ -668,7 +668,7 @@
 				struct iw_request_info *info, 
 				union iwreq_data *wrqu, char *extra)
 {
-	IPW2100_DEBUG_WX("TODO: Power management by wireless extension...\n");
+	IPW2100_DEBUG_WX("%s", "TODO: Power management by wireless extension...\n");
 
 	IPW2100_DEBUG_WX("SET TX Power -> %d \n", wrqu->rts.value);
 
@@ -811,9 +811,9 @@
 {
 	struct ipw2100_priv *priv = ipw2100_netdev(dev);
 
-	IPW2100_DEBUG_WX("Initiating scan...\n");
+	IPW2100_DEBUG_WX("%s", "Initiating scan...\n");
 	if (ipw2100_start_scan(priv)) {
-		IPW2100_DEBUG_WX("Start scan failed.\n");
+		IPW2100_DEBUG_WX("%s", "Start scan failed.\n");
 
 		/* TODO: Mark a scan as pending so when hardware initialized
 		 *       a scan starts */
@@ -913,7 +913,7 @@
 	char *stop = ev + IW_SCAN_MAX_DATA;
 	int i;
 
-	IPW2100_DEBUG_WX("enter\n");
+	IPW2100_DEBUG_WX("%s", "enter\n");
 	
 	spin_lock_irqsave(&priv->low_lock, flags);
 
@@ -967,11 +967,11 @@
 	if (wrqu->power.disabled) {
 		err = ipw2100_set_power_mode(priv, IPW_POWER_MODE_CAM);
 		if (err) {
-			IPW2100_DEBUG_WX("failed setting power mode.\n");
+			IPW2100_DEBUG_WX("%s", "failed setting power mode.\n");
 			return err;
 		}
 
-		IPW2100_DEBUG_WX("SET Power Management Mode -> off\n");
+		IPW2100_DEBUG_WX("%s", "SET Power Management Mode -> off\n");
 
 		return 0;
 	} 
@@ -1007,7 +1007,7 @@
 	
 	err = ipw2100_set_power_mode(priv, i);
 	if (err) {
-		IPW2100_DEBUG_WX("failed setting power mode.\n");
+		IPW2100_DEBUG_WX("%s", "failed setting power mode.\n");
 		return err;
 	}
 
@@ -1028,7 +1028,7 @@
 
 	err = ipw2100_get_ordinal(priv, IPW_ORD_POWER_MGMT_MODE, &val, &len);
 	if (err) {
-		IPW2100_DEBUG_WX("failed querying ordinals.\n");
+		IPW2100_DEBUG_WX("%s", "failed querying ordinals.\n");
 		return err;
 	}
 
@@ -1270,7 +1270,7 @@
 	return wstats;
 
  fail_get_ordinal:
-	IPW2100_DEBUG_WX("failed querying ordinals.\n");
+	IPW2100_DEBUG_WX("%s", "failed querying ordinals.\n");
 
 	return (struct iw_statistics *) NULL;
 }
@@ -1281,7 +1281,7 @@
       union iwreq_data wrqu;
       int len = ETH_ALEN;
 
-      IPW2100_DEBUG_WX("enter\n");
+      IPW2100_DEBUG_WX("%s", "enter\n");
       if (priv->wx_ap_event_pending) {
               priv->wx_ap_event_pending = 0;
 
Victor
-- 
Victor J. Orlikowski <> victor.j.orlikowski@alumni.duke.edu

  reply	other threads:[~2004-07-14 17:02 UTC|newest]

Thread overview: 43+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2004-07-14 11:41 ipw2100 wireless driver Pavel Machek
2004-07-14 11:48 ` Jeff Chua
2004-07-14 11:55   ` Pavel Machek
2004-07-14 14:53     `  Éric Brunet
2004-07-14 15:24       ` Emiliano 'AlberT' Gabrielli
2004-08-09 20:15     ` Tomas Szepe
2004-08-10  5:02       ` Jeff Chua
2004-08-10  6:55         ` Christoph Hellwig
2004-08-10 10:16           ` Pavel Machek
2004-08-10 10:34             ` Christoph Hellwig
2004-08-11 12:17               ` Pavel Machek
2004-08-11 17:54                 ` Jeff Garzik
2004-08-11 20:27                   ` Pavel Machek
2004-08-11 22:01                     ` Jeff Garzik
2004-08-11 10:16             ` James Ketrenos
2004-08-11 10:44               ` Christoph Hellwig
2004-08-11 10:53                 ` Wichert Akkerman
2004-08-11 10:59                   ` Christoph Hellwig
2004-08-11 16:21                 ` James Ketrenos
2004-08-11 16:30                   ` Stephen Hemminger
2004-08-11 16:33                     ` Tomas Szepe
2004-08-11 16:51                       ` Christoph Hellwig
2004-08-11 17:02                         ` Tomas Szepe
2004-08-11 17:11                           ` Christoph Hellwig
2004-08-11 17:22                             ` Tomas Szepe
2004-08-11 17:41                               ` Christoph Hellwig
2004-08-11 17:51                                 ` Tomas Szepe
2004-08-11 22:43                                   ` David Woodhouse
2004-08-11 22:56                                     ` Tomas Szepe
2004-08-11 23:06                                       ` David Woodhouse
2004-08-11 23:11                                         ` Tomas Szepe
2004-08-11 23:21                                           ` David Woodhouse
2004-08-11 18:55                           ` John Stoffel
2004-08-11 23:55                       ` Jeff Chua
2004-08-12  3:47                   ` Luis R. Rodriguez
2004-08-11 17:51               ` Jeff Garzik
2004-07-14 12:30   ` Tomas Szepe
2004-07-14 12:27 ` Pavel Machek
2004-07-14 13:15 ` Vojtech Pavlik
2004-07-14 13:42   ` Pavel Machek
2004-07-14 17:00     ` Victor J. Orlikowski [this message]
     [not found] <2hQr1-62p-23@gated-at.bofh.it>
     [not found] ` <2hRQ5-7bn-9@gated-at.bofh.it>
2004-07-14 14:07   ` Andi Kleen
2004-07-14 14:59     ` Vojtech Pavlik

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20040714170017.GA31372@peregrin \
    --to=victor.j.orlikowski@alumni.duke.edu \
    --cc=linux-kernel@vger.kernel.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox