git://git.onelab.eu
/
linux-2.6.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
vserver 1.9.5.x5
[linux-2.6.git]
/
drivers
/
usb
/
atm
/
usb_atm.c
diff --git
a/drivers/usb/atm/usb_atm.c
b/drivers/usb/atm/usb_atm.c
index
9180dda
..
a4cd447
100644
(file)
--- a/
drivers/usb/atm/usb_atm.c
+++ b/
drivers/usb/atm/usb_atm.c
@@
-83,23
+83,6
@@
#include "usb_atm.h"
#include "usb_atm.h"
-/*
-#define DEBUG
-#define VERBOSE_DEBUG
-*/
-
-#if !defined (DEBUG) && defined (CONFIG_USB_DEBUG)
-# define DEBUG
-#endif
-
-#include <linux/usb.h>
-
-#ifdef DEBUG
-#define UDSL_ASSERT(x) BUG_ON(!(x))
-#else
-#define UDSL_ASSERT(x) do { if (!(x)) warn("failed assertion '" #x "' at line %d", __LINE__); } while(0)
-#endif
-
#ifdef VERBOSE_DEBUG
static int udsl_print_packet(const unsigned char *data, int len);
#define PACKETDEBUG(arg...) udsl_print_packet (arg)
#ifdef VERBOSE_DEBUG
static int udsl_print_packet(const unsigned char *data, int len);
#define PACKETDEBUG(arg...) udsl_print_packet (arg)
@@
-111,7
+94,7
@@
static int udsl_print_packet(const unsigned char *data, int len);
#define DRIVER_AUTHOR "Johan Verrept, Duncan Sands <duncan.sands@free.fr>"
#define DRIVER_VERSION "1.8"
#define DRIVER_AUTHOR "Johan Verrept, Duncan Sands <duncan.sands@free.fr>"
#define DRIVER_VERSION "1.8"
-#define DRIVER_DESC "
Alcatel SpeedTouch USB driver
version " DRIVER_VERSION
+#define DRIVER_DESC "
Generic USB ATM/DSL I/O,
version " DRIVER_VERSION
static unsigned int num_rcv_urbs = UDSL_DEFAULT_RCV_URBS;
static unsigned int num_snd_urbs = UDSL_DEFAULT_SND_URBS;
static unsigned int num_rcv_urbs = UDSL_DEFAULT_RCV_URBS;
static unsigned int num_snd_urbs = UDSL_DEFAULT_SND_URBS;
@@
-311,6
+294,15
@@
static void udsl_extract_cells(struct udsl_instance_data *instance,
** encode **
*************/
** encode **
*************/
+static inline void udsl_fill_cell_header(unsigned char *target, struct atm_vcc *vcc)
+{
+ target[0] = vcc->vpi >> 4;
+ target[1] = (vcc->vpi << 4) | (vcc->vci >> 12);
+ target[2] = vcc->vci >> 4;
+ target[3] = vcc->vci << 4;
+ target[4] = 0xec;
+}
+
static const unsigned char zeros[ATM_CELL_PAYLOAD];
static void udsl_groom_skb(struct atm_vcc *vcc, struct sk_buff *skb)
static const unsigned char zeros[ATM_CELL_PAYLOAD];
static void udsl_groom_skb(struct atm_vcc *vcc, struct sk_buff *skb)
@@
-320,11
+312,6
@@
static void udsl_groom_skb(struct atm_vcc *vcc, struct sk_buff *skb)
u32 crc;
ctrl->atm_data.vcc = vcc;
u32 crc;
ctrl->atm_data.vcc = vcc;
- ctrl->cell_header[0] = vcc->vpi >> 4;
- ctrl->cell_header[1] = (vcc->vpi << 4) | (vcc->vci >> 12);
- ctrl->cell_header[2] = vcc->vci >> 4;
- ctrl->cell_header[3] = vcc->vci << 4;
- ctrl->cell_header[4] = 0xec;
ctrl->num_cells = UDSL_NUM_CELLS(skb->len);
ctrl->num_entire = skb->len / ATM_CELL_PAYLOAD;
ctrl->num_cells = UDSL_NUM_CELLS(skb->len);
ctrl->num_entire = skb->len / ATM_CELL_PAYLOAD;
@@
-366,7
+353,7
@@
static unsigned int udsl_write_cells(struct udsl_instance_data *instance,
ne = min(howmany, ctrl->num_entire);
for (i = 0; i < ne; i++) {
ne = min(howmany, ctrl->num_entire);
for (i = 0; i < ne; i++) {
-
memcpy(target, ctrl->cell_header, ATM_CELL_HEADER
);
+
udsl_fill_cell_header(target, ctrl->atm_data.vcc
);
target += ATM_CELL_HEADER;
memcpy(target, skb->data, ATM_CELL_PAYLOAD);
target += ATM_CELL_PAYLOAD;
target += ATM_CELL_HEADER;
memcpy(target, skb->data, ATM_CELL_PAYLOAD);
target += ATM_CELL_PAYLOAD;
@@
-382,11
+369,7
@@
static unsigned int udsl_write_cells(struct udsl_instance_data *instance,
if (!(ctrl->num_cells -= ne) || !(howmany -= ne))
goto out;
if (!(ctrl->num_cells -= ne) || !(howmany -= ne))
goto out;
- if (instance->snd_padding) {
- memset(target, 0, instance->snd_padding);
- target += instance->snd_padding;
- }
- memcpy(target, ctrl->cell_header, ATM_CELL_HEADER);
+ udsl_fill_cell_header(target, ctrl->atm_data.vcc);
target += ATM_CELL_HEADER;
memcpy(target, skb->data, skb->len);
target += skb->len;
target += ATM_CELL_HEADER;
memcpy(target, skb->data, skb->len);
target += skb->len;
@@
-400,7
+383,11
@@
static unsigned int udsl_write_cells(struct udsl_instance_data *instance,
goto out;
}
goto out;
}
- memcpy(target, ctrl->cell_header, ATM_CELL_HEADER);
+ if (instance->snd_padding) {
+ memset(target, 0, instance->snd_padding);
+ target += instance->snd_padding;
+ }
+ udsl_fill_cell_header(target, ctrl->atm_data.vcc);
target += ATM_CELL_HEADER;
memset(target, 0, ATM_CELL_PAYLOAD - ATM_AAL5_TRAILER);
target += ATM_CELL_PAYLOAD - ATM_AAL5_TRAILER;
target += ATM_CELL_HEADER;
memset(target, 0, ATM_CELL_PAYLOAD - ATM_AAL5_TRAILER);
target += ATM_CELL_PAYLOAD - ATM_AAL5_TRAILER;