[IrDA]: Memory allocations cleanups
This patch replaces the bunch of arbitrary 64 and 128 bytes alloc_skb() calls with more accurate allocation sizes. Signed-off-by: Samuel Ortiz <samuel@sortiz.org> Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:

committed by
David S. Miller

parent
778e6398d3
commit
1b0fee7d68
@@ -98,7 +98,15 @@
|
||||
#define IRLAN_SHORT 1
|
||||
#define IRLAN_ARRAY 2
|
||||
|
||||
#define IRLAN_MAX_HEADER (TTP_HEADER+LMP_HEADER+LAP_MAX_HEADER)
|
||||
/* IrLAN sits on top if IrTTP */
|
||||
#define IRLAN_MAX_HEADER (TTP_HEADER+LMP_HEADER)
|
||||
/* 1 byte for the command code and 1 byte for the parameter count */
|
||||
#define IRLAN_CMD_HEADER 2
|
||||
|
||||
#define IRLAN_STRING_PARAMETER_LEN(name, value) (1 + strlen((name)) + 2 \
|
||||
+ strlen ((value)))
|
||||
#define IRLAN_BYTE_PARAMETER_LEN(name) (1 + strlen((name)) + 2 + 1)
|
||||
#define IRLAN_SHORT_PARAMETER_LEN(name) (1 + strlen((name)) + 2 + 2)
|
||||
|
||||
/*
|
||||
* IrLAN client
|
||||
|
@@ -74,6 +74,19 @@ struct discovery_t;
|
||||
|
||||
#define PF_BIT 0x10 /* Poll/final bit */
|
||||
|
||||
/* Some IrLAP field lengths */
|
||||
/*
|
||||
* Only baud rate triplet is 4 bytes (PV can be 2 bytes).
|
||||
* All others params (7) are 3 bytes, so that's 7*3 + 1*4 bytes.
|
||||
*/
|
||||
#define IRLAP_NEGOCIATION_PARAMS_LEN 25
|
||||
#define IRLAP_DISCOVERY_INFO_LEN 32
|
||||
|
||||
struct disc_frame {
|
||||
__u8 caddr; /* Connection address */
|
||||
__u8 control;
|
||||
} IRDA_PACK;
|
||||
|
||||
struct xid_frame {
|
||||
__u8 caddr; /* Connection address */
|
||||
__u8 control;
|
||||
@@ -95,11 +108,25 @@ struct test_frame {
|
||||
struct ua_frame {
|
||||
__u8 caddr;
|
||||
__u8 control;
|
||||
|
||||
__u32 saddr; /* Source device address */
|
||||
__u32 daddr; /* Dest device address */
|
||||
} IRDA_PACK;
|
||||
|
||||
|
||||
struct dm_frame {
|
||||
__u8 caddr; /* Connection address */
|
||||
__u8 control;
|
||||
} IRDA_PACK;
|
||||
|
||||
struct rd_frame {
|
||||
__u8 caddr; /* Connection address */
|
||||
__u8 control;
|
||||
} IRDA_PACK;
|
||||
|
||||
struct rr_frame {
|
||||
__u8 caddr; /* Connection address */
|
||||
__u8 control;
|
||||
} IRDA_PACK;
|
||||
|
||||
struct i_frame {
|
||||
__u8 caddr;
|
||||
__u8 control;
|
||||
|
@@ -48,7 +48,7 @@
|
||||
#define DEV_ADDR_ANY 0xffffffff
|
||||
|
||||
#define LMP_HEADER 2 /* Dest LSAP + Source LSAP */
|
||||
#define LMP_CONTROL_HEADER 4
|
||||
#define LMP_CONTROL_HEADER 4 /* LMP_HEADER + opcode + parameter */
|
||||
#define LMP_PID_HEADER 1 /* Used by Ultra */
|
||||
#define LMP_MAX_HEADER (LMP_CONTROL_HEADER+LAP_MAX_HEADER)
|
||||
|
||||
|
Reference in New Issue
Block a user