diff -uNr kernel-build-old/su-18-kernel-2.6.12.3/debian/changelog kernel-build/su-18-kernel-2.6.12.3/debian/changelog
--- kernel-build-old/su-18-kernel-2.6.12.3/debian/changelog	2005-12-13 13:06:41.000000000 +0000
+++ kernel-build/su-18-kernel-2.6.12.3/debian/changelog	2006-05-01 14:46:49.000000000 +0100
@@ -1,3 +1,22 @@
+su-18-kernel (2.6.12.3-200550osso1_cifs2) unstable; urgency=low
+
+  * Fixed: Patch kernel after uncompressing tree.
+
+ -- David Connolly <david@connolly.name>  Mon,  1 May 2006 14:46:08 +0100
+
+su-18-kernel (2.6.12.3-200550osso1_cifs1) unstable; urgency=low
+
+  * Slightly modified to build cifs.ko as a binary package.
+  * CIFS patched for arm with a patch from git:
+    commit id 0753ca7bc2b876dd136e9db11a20f85cbe4e08b1
+
+    [CIFS] Change pragma pack(1) to attribute(packed) to allow cifs on arm to access
+           unaligned structures coming in off the wire
+
+           by Steve French <sfrench@us.ibm.com>
+
+ -- David Connolly <david@connolly.name>  Wed, 26 Apr 2006 18:52:12 +0100
+
 su-18-kernel (2.6.12.3-200550osso1) unstable; urgency=low

   * week200550 release (see full list of changes in kernel-source package)
diff -uNr kernel-build-old/su-18-kernel-2.6.12.3/debian/control kernel-build/su-18-kernel-2.6.12.3/debian/control
--- kernel-build-old/su-18-kernel-2.6.12.3/debian/control	2005-12-13 13:06:54.000000000 +0000
+++ kernel-build/su-18-kernel-2.6.12.3/debian/control	2006-04-30 23:26:43.000000000 +0100
@@ -17,3 +17,10 @@
 Description: Linux kernel headers
  This package provides kernel modules for Nokia 770.

+Package: su-18-kernel-cifs
+Architecture: arm
+Provides: su-18-kernel
+Depends: maemo
+Description: CIFS Module for SU-18 hardware.
+ Patched to correct Paragm pack issue.
+
diff -uNr kernel-build-old/su-18-kernel-2.6.12.3/debian/n770_cifsconfig kernel-build/su-18-kernel-2.6.12.3/debian/n770_cifsconfig
--- kernel-build-old/su-18-kernel-2.6.12.3/debian/n770_cifsconfig	1970-01-01 01:00:00.000000000 +0100
+++ kernel-build/su-18-kernel-2.6.12.3/debian/n770_cifsconfig	2006-04-30 23:26:43.000000000 +0100
@@ -0,0 +1,1301 @@
+#
+# Automatically generated make config: don't edit
+# Linux kernel version: 2.6.12.3-omap1
+# Wed Mar 22 21:05:10 2006
+#
+CONFIG_ARM=y
+CONFIG_MMU=y
+CONFIG_UID16=y
+CONFIG_RWSEM_GENERIC_SPINLOCK=y
+CONFIG_GENERIC_CALIBRATE_DELAY=y
+CONFIG_GENERIC_IOMAP=y
+
+#
+# Code maturity level options
+#
+CONFIG_EXPERIMENTAL=y
+CONFIG_CLEAN_COMPILE=y
+CONFIG_BROKEN_ON_SMP=y
+CONFIG_INIT_ENV_ARG_LIMIT=32
+
+#
+# General setup
+#
+CONFIG_LOCALVERSION=""
+CONFIG_SWAP=y
+CONFIG_SYSVIPC=y
+CONFIG_POSIX_MQUEUE=y
+# CONFIG_BSD_PROCESS_ACCT is not set
+CONFIG_SYSCTL=y
+# CONFIG_AUDIT is not set
+CONFIG_HOTPLUG=y
+CONFIG_KOBJECT_UEVENT=y
+# CONFIG_IKCONFIG is not set
+# CONFIG_EMBEDDED is not set
+CONFIG_KALLSYMS=y
+# CONFIG_KALLSYMS_ALL is not set
+# CONFIG_KALLSYMS_EXTRA_PASS is not set
+CONFIG_PRINTK=y
+CONFIG_BUG=y
+CONFIG_BASE_FULL=y
+CONFIG_FUTEX=y
+CONFIG_EPOLL=y
+CONFIG_CC_OPTIMIZE_FOR_SIZE=y
+CONFIG_SHMEM=y
+CONFIG_CC_ALIGN_FUNCTIONS=0
+CONFIG_CC_ALIGN_LABELS=0
+CONFIG_CC_ALIGN_LOOPS=0
+CONFIG_CC_ALIGN_JUMPS=0
+# CONFIG_TINY_SHMEM is not set
+CONFIG_BASE_SMALL=0
+
+#
+# Loadable module support
+#
+CONFIG_MODULES=y
+CONFIG_MODULE_UNLOAD=y
+# CONFIG_MODULE_FORCE_UNLOAD is not set
+CONFIG_OBSOLETE_MODPARM=y
+# CONFIG_MODVERSIONS is not set
+# CONFIG_MODULE_SRCVERSION_ALL is not set
+# CONFIG_KMOD is not set
+
+#
+# System Type
+#
+# CONFIG_ARCH_CLPS7500 is not set
+# CONFIG_ARCH_CLPS711X is not set
+# CONFIG_ARCH_CO285 is not set
+# CONFIG_ARCH_EBSA110 is not set
+# CONFIG_ARCH_CAMELOT is not set
+# CONFIG_ARCH_FOOTBRIDGE is not set
+# CONFIG_ARCH_INTEGRATOR is not set
+# CONFIG_ARCH_IOP3XX is not set
+# CONFIG_ARCH_IXP4XX is not set
+# CONFIG_ARCH_IXP2000 is not set
+# CONFIG_ARCH_L7200 is not set
+# CONFIG_ARCH_PXA is not set
+# CONFIG_ARCH_RPC is not set
+# CONFIG_ARCH_SA1100 is not set
+# CONFIG_ARCH_S3C2410 is not set
+# CONFIG_ARCH_SHARK is not set
+# CONFIG_ARCH_LH7A40X is not set
+CONFIG_ARCH_OMAP=y
+# CONFIG_ARCH_VERSATILE is not set
+# CONFIG_ARCH_IMX is not set
+# CONFIG_ARCH_H720X is not set
+
+#
+# TI OMAP Implementations
+#
+CONFIG_ARCH_OMAP_OTG=y
+CONFIG_ARCH_OMAP1=y
+# CONFIG_ARCH_OMAP2 is not set
+
+#
+# OMAP Core Type
+#
+# CONFIG_ARCH_OMAP730 is not set
+# CONFIG_ARCH_OMAP1510 is not set
+CONFIG_ARCH_OMAP16XX=y
+
+#
+# OMAP Board Type
+#
+# CONFIG_MACH_OMAP_INNOVATOR is not set
+# CONFIG_MACH_OMAP_H2 is not set
+# CONFIG_MACH_OMAP_H3 is not set
+# CONFIG_MACH_OMAP_OSK is not set
+CONFIG_MACH_OMAP_GENERIC=y
+
+#
+# OMAP CPU Speed
+#
+CONFIG_OMAP_CLOCKS_SET_BY_BOOTLOADER=y
+CONFIG_OMAP_ARM_216MHZ=y
+# CONFIG_OMAP_ARM_192MHZ is not set
+# CONFIG_OMAP_ARM_168MHZ is not set
+# CONFIG_OMAP_ARM_120MHZ is not set
+# CONFIG_OMAP_ARM_60MHZ is not set
+# CONFIG_OMAP_ARM_30MHZ is not set
+CONFIG_OMAP_DSP=y
+# CONFIG_OMAP_DSP_MBCMD_VERBOSE is not set
+CONFIG_OMAP_DSP_TASK_MULTIOPEN=y
+CONFIG_OMAP_DSP_FBEXPORT=y
+
+#
+# OMAP Feature Selections
+#
+CONFIG_OMAP_RESET_CLOCKS=y
+CONFIG_OMAP_BOOT_TAG=y
+CONFIG_OMAP_BOOT_REASON=y
+CONFIG_OMAP_COMPONENT_VERSION=y
+CONFIG_OMAP_GPIO_SWITCH=y
+# CONFIG_OMAP_MUX is not set
+CONFIG_OMAP_STI=y
+CONFIG_OMAP_STI_CONSOLE=y
+# CONFIG_OMAP_MPU_TIMER is not set
+CONFIG_OMAP_32K_TIMER=y
+CONFIG_OMAP_32K_TIMER_HZ=128
+CONFIG_OMAP_DM_TIMER=y
+CONFIG_NO_IDLE_HZ=y
+CONFIG_NO_IDLE_HZ_ENABLED=y
+CONFIG_OMAP_LL_DEBUG_UART1=y
+# CONFIG_OMAP_LL_DEBUG_UART2 is not set
+# CONFIG_OMAP_LL_DEBUG_UART3 is not set
+
+#
+# Processor Type
+#
+CONFIG_CPU_32=y
+CONFIG_CPU_ARM926T=y
+CONFIG_CPU_32v5=y
+CONFIG_CPU_ABRT_EV5TJ=y
+CONFIG_CPU_CACHE_VIVT=y
+CONFIG_CPU_COPY_V4WB=y
+CONFIG_CPU_TLB_V4WBI=y
+
+#
+# Processor Features
+#
+CONFIG_ARM_THUMB=y
+# CONFIG_CPU_ICACHE_DISABLE is not set
+# CONFIG_CPU_DCACHE_DISABLE is not set
+# CONFIG_CPU_DCACHE_WRITETHROUGH is not set
+# CONFIG_CPU_CACHE_ROUND_ROBIN is not set
+
+#
+# Bus support
+#
+CONFIG_ISA_DMA_API=y
+
+#
+# PCCARD (PCMCIA/CardBus) support
+#
+# CONFIG_PCCARD is not set
+
+#
+# Kernel Features
+#
+# CONFIG_SMP is not set
+# CONFIG_PREEMPT is not set
+# CONFIG_DISCONTIGMEM is not set
+# CONFIG_LEDS is not set
+CONFIG_ALIGNMENT_TRAP=y
+
+#
+# Boot options
+#
+CONFIG_ZBOOT_ROM_TEXT=0x0
+CONFIG_ZBOOT_ROM_BSS=0x0
+CONFIG_CMDLINE="root=1f03 rootfstype=jffs2 time"
+# CONFIG_XIP_KERNEL is not set
+
+#
+# CPU Frequency scaling
+#
+# CONFIG_CPU_FREQ is not set
+
+#
+# Floating point emulation
+#
+
+#
+# At least one emulation must be selected
+#
+CONFIG_FPE_NWFPE=y
+# CONFIG_FPE_NWFPE_XP is not set
+# CONFIG_FPE_FASTFPE is not set
+# CONFIG_VFP is not set
+
+#
+# Userspace binary formats
+#
+CONFIG_BINFMT_ELF=y
+# CONFIG_BINFMT_AOUT is not set
+# CONFIG_BINFMT_MISC is not set
+# CONFIG_ARTHUR is not set
+
+#
+# Power management options
+#
+CONFIG_PM=y
+# CONFIG_APM is not set
+
+#
+# Device Drivers
+#
+
+#
+# Generic Driver Options
+#
+CONFIG_STANDALONE=y
+CONFIG_PREVENT_FIRMWARE_BUILD=y
+CONFIG_FW_LOADER=y
+# CONFIG_DEBUG_DRIVER is not set
+
+#
+# Memory Technology Devices (MTD)
+#
+CONFIG_MTD=y
+# CONFIG_MTD_DEBUG is not set
+# CONFIG_MTD_CONCAT is not set
+CONFIG_MTD_PARTITIONS=y
+# CONFIG_MTD_REDBOOT_PARTS is not set
+CONFIG_MTD_CMDLINE_PARTS=y
+# CONFIG_MTD_AFS_PARTS is not set
+
+#
+# User Modules And Translation Layers
+#
+CONFIG_MTD_CHAR=y
+CONFIG_MTD_BLOCK=y
+# CONFIG_FTL is not set
+# CONFIG_NFTL is not set
+# CONFIG_INFTL is not set
+# CONFIG_RFD_FTL is not set
+
+#
+# RAM/ROM/Flash chip drivers
+#
+# CONFIG_MTD_CFI is not set
+# CONFIG_MTD_JEDECPROBE is not set
+CONFIG_MTD_MAP_BANK_WIDTH_1=y
+CONFIG_MTD_MAP_BANK_WIDTH_2=y
+CONFIG_MTD_MAP_BANK_WIDTH_4=y
+# CONFIG_MTD_MAP_BANK_WIDTH_8 is not set
+# CONFIG_MTD_MAP_BANK_WIDTH_16 is not set
+# CONFIG_MTD_MAP_BANK_WIDTH_32 is not set
+CONFIG_MTD_CFI_I1=y
+CONFIG_MTD_CFI_I2=y
+# CONFIG_MTD_CFI_I4 is not set
+# CONFIG_MTD_CFI_I8 is not set
+# CONFIG_MTD_RAM is not set
+# CONFIG_MTD_ROM is not set
+# CONFIG_MTD_ABSENT is not set
+
+#
+# Mapping drivers for chip access
+#
+# CONFIG_MTD_COMPLEX_MAPPINGS is not set
+# CONFIG_MTD_PLATRAM is not set
+
+#
+# Self-contained MTD device drivers
+#
+# CONFIG_MTD_SLRAM is not set
+# CONFIG_MTD_PHRAM is not set
+# CONFIG_MTD_MTDRAM is not set
+# CONFIG_RAMTD is not set
+# CONFIG_MTD_BLKMTD is not set
+# CONFIG_MTD_BLOCK2MTD is not set
+
+#
+# Disk-On-Chip Device Drivers
+#
+# CONFIG_MTD_DOC2000 is not set
+# CONFIG_MTD_DOC2001 is not set
+# CONFIG_MTD_DOC2001PLUS is not set
+
+#
+# NAND Flash Device Drivers
+#
+CONFIG_MTD_NAND=y
+# CONFIG_MTD_NAND_VERIFY_WRITE is not set
+# CONFIG_MTD_NAND_TOTO is not set
+CONFIG_MTD_NAND_IDS=y
+# CONFIG_MTD_NAND_DISKONCHIP is not set
+# CONFIG_MTD_NAND_NANDSIM is not set
+CONFIG_MTD_NAND_OMAP_HW=y
+
+#
+# OneNAND Flash Device Drivers (EXPERIMENTAL)
+#
+# CONFIG_MTD_ONENAND is not set
+
+#
+# Parallel port support
+#
+# CONFIG_PARPORT is not set
+
+#
+# Plug and Play support
+#
+
+#
+# Block devices
+#
+# CONFIG_BLK_DEV_COW_COMMON is not set
+CONFIG_BLK_DEV_LOOP=y
+# CONFIG_BLK_DEV_CRYPTOLOOP is not set
+# CONFIG_BLK_DEV_NBD is not set
+# CONFIG_BLK_DEV_UB is not set
+# CONFIG_BLK_DEV_RAM is not set
+CONFIG_BLK_DEV_RAM_COUNT=16
+CONFIG_INITRAMFS_SOURCE=""
+# CONFIG_CDROM_PKTCDVD is not set
+
+#
+# IO Schedulers
+#
+CONFIG_IOSCHED_NOOP=y
+# CONFIG_IOSCHED_AS is not set
+# CONFIG_IOSCHED_DEADLINE is not set
+CONFIG_IOSCHED_CFQ=y
+# CONFIG_ATA_OVER_ETH is not set
+
+#
+# SCSI device support
+#
+CONFIG_SCSI=y
+# CONFIG_SCSI_PROC_FS is not set
+
+#
+# SCSI support type (disk, tape, CD-ROM)
+#
+CONFIG_BLK_DEV_SD=y
+# CONFIG_CHR_DEV_ST is not set
+# CONFIG_CHR_DEV_OSST is not set
+# CONFIG_BLK_DEV_SR is not set
+# CONFIG_CHR_DEV_SG is not set
+
+#
+# Some SCSI devices (e.g. CD jukebox) support multiple LUNs
+#
+# CONFIG_SCSI_MULTI_LUN is not set
+# CONFIG_SCSI_CONSTANTS is not set
+# CONFIG_SCSI_LOGGING is not set
+
+#
+# SCSI Transport Attributes
+#
+# CONFIG_SCSI_SPI_ATTRS is not set
+# CONFIG_SCSI_FC_ATTRS is not set
+# CONFIG_SCSI_ISCSI_ATTRS is not set
+
+#
+# SCSI low-level drivers
+#
+# CONFIG_SCSI_SATA is not set
+# CONFIG_SCSI_DEBUG is not set
+
+#
+# Multi-device support (RAID and LVM)
+#
+# CONFIG_MD is not set
+
+#
+# Fusion MPT device support
+#
+
+#
+# IEEE 1394 (FireWire) support
+#
+
+#
+# I2O device support
+#
+
+#
+# Networking support
+#
+CONFIG_NET=y
+
+#
+# Networking options
+#
+CONFIG_PACKET=y
+# CONFIG_PACKET_MMAP is not set
+CONFIG_UNIX=y
+# CONFIG_NET_KEY is not set
+CONFIG_INET=y
+CONFIG_IP_MULTICAST=y
+# CONFIG_IP_ADVANCED_ROUTER is not set
+CONFIG_IP_PNP=y
+CONFIG_IP_PNP_DHCP=y
+CONFIG_IP_PNP_BOOTP=y
+# CONFIG_IP_PNP_RARP is not set
+# CONFIG_NET_IPIP is not set
+# CONFIG_NET_IPGRE is not set
+# CONFIG_IP_MROUTE is not set
+# CONFIG_ARPD is not set
+# CONFIG_SYN_COOKIES is not set
+# CONFIG_INET_AH is not set
+# CONFIG_INET_ESP is not set
+# CONFIG_INET_IPCOMP is not set
+# CONFIG_INET_TUNNEL is not set
+# CONFIG_IP_TCPDIAG is not set
+# CONFIG_IP_TCPDIAG_IPV6 is not set
+
+#
+# IP: Virtual Server Configuration
+#
+# CONFIG_IP_VS is not set
+# CONFIG_IPV6 is not set
+CONFIG_NETFILTER=y
+# CONFIG_NETFILTER_DEBUG is not set
+
+#
+# IP: Netfilter Configuration
+#
+# CONFIG_IP_NF_CONNTRACK is not set
+# CONFIG_IP_NF_CONNTRACK_MARK is not set
+# CONFIG_IP_NF_QUEUE is not set
+CONFIG_IP_NF_IPTABLES=y
+CONFIG_IP_NF_MATCH_LIMIT=y
+# CONFIG_IP_NF_MATCH_IPRANGE is not set
+# CONFIG_IP_NF_MATCH_MAC is not set
+# CONFIG_IP_NF_MATCH_PKTTYPE is not set
+# CONFIG_IP_NF_MATCH_MARK is not set
+# CONFIG_IP_NF_MATCH_MULTIPORT is not set
+# CONFIG_IP_NF_MATCH_TOS is not set
+# CONFIG_IP_NF_MATCH_RECENT is not set
+# CONFIG_IP_NF_MATCH_ECN is not set
+# CONFIG_IP_NF_MATCH_DSCP is not set
+# CONFIG_IP_NF_MATCH_AH_ESP is not set
+# CONFIG_IP_NF_MATCH_LENGTH is not set
+# CONFIG_IP_NF_MATCH_TTL is not set
+# CONFIG_IP_NF_MATCH_TCPMSS is not set
+# CONFIG_IP_NF_MATCH_OWNER is not set
+# CONFIG_IP_NF_MATCH_ADDRTYPE is not set
+# CONFIG_IP_NF_MATCH_REALM is not set
+# CONFIG_IP_NF_MATCH_SCTP is not set
+# CONFIG_IP_NF_MATCH_COMMENT is not set
+# CONFIG_IP_NF_MATCH_HASHLIMIT is not set
+CONFIG_IP_NF_FILTER=y
+# CONFIG_IP_NF_TARGET_REJECT is not set
+# CONFIG_IP_NF_TARGET_LOG is not set
+# CONFIG_IP_NF_TARGET_ULOG is not set
+# CONFIG_IP_NF_TARGET_TCPMSS is not set
+CONFIG_IP_NF_TARGET_IDLETIMER=y
+# CONFIG_IP_NF_MANGLE is not set
+# CONFIG_IP_NF_RAW is not set
+# CONFIG_IP_NF_ARPTABLES is not set
+
+#
+# SCTP Configuration (EXPERIMENTAL)
+#
+# CONFIG_IP_SCTP is not set
+# CONFIG_ATM is not set
+# CONFIG_BRIDGE is not set
+# CONFIG_VLAN_8021Q is not set
+# CONFIG_DECNET is not set
+# CONFIG_LLC2 is not set
+# CONFIG_IPX is not set
+# CONFIG_ATALK is not set
+# CONFIG_X25 is not set
+# CONFIG_LAPB is not set
+# CONFIG_NET_DIVERT is not set
+# CONFIG_ECONET is not set
+# CONFIG_WAN_ROUTER is not set
+
+#
+# QoS and/or fair queueing
+#
+# CONFIG_NET_SCHED is not set
+# CONFIG_NET_CLS_ROUTE is not set
+
+#
+# Network testing
+#
+# CONFIG_NET_PKTGEN is not set
+# CONFIG_NETPOLL is not set
+# CONFIG_NET_POLL_CONTROLLER is not set
+# CONFIG_HAMRADIO is not set
+# CONFIG_IRDA is not set
+CONFIG_BT=y
+CONFIG_BT_L2CAP=y
+CONFIG_BT_SCO=y
+CONFIG_BT_RFCOMM=y
+CONFIG_BT_RFCOMM_TTY=y
+CONFIG_BT_BNEP=y
+# CONFIG_BT_BNEP_MC_FILTER is not set
+# CONFIG_BT_BNEP_PROTO_FILTER is not set
+CONFIG_BT_HIDP=y
+
+#
+# Bluetooth device drivers
+#
+# CONFIG_BT_HCIUSB is not set
+# CONFIG_BT_HCIUART is not set
+# CONFIG_BT_HCIBCM203X is not set
+# CONFIG_BT_HCIBPA10X is not set
+# CONFIG_BT_HCIBFUSB is not set
+CONFIG_BT_HCIBRF6150=y
+# CONFIG_BT_HCIVHCI is not set
+CONFIG_NETDEVICES=y
+# CONFIG_DUMMY is not set
+# CONFIG_BONDING is not set
+# CONFIG_EQUALIZER is not set
+CONFIG_TUN=y
+
+#
+# Ethernet (10 or 100Mbit)
+#
+CONFIG_NET_ETHERNET=y
+CONFIG_MII=y
+# CONFIG_SMC91X is not set
+
+#
+# Ethernet (1000 Mbit)
+#
+
+#
+# Ethernet (10000 Mbit)
+#
+
+#
+# Token Ring devices
+#
+
+#
+# Wireless LAN (non-hamradio)
+#
+CONFIG_NET_RADIO=y
+
+#
+# Obsolete Wireless cards support (pre-802.11)
+#
+# CONFIG_STRIP is not set
+# CONFIG_ATMEL is not set
+CONFIG_CX3110X=m
+CONFIG_NET_WIRELESS=y
+
+#
+# Wan interfaces
+#
+# CONFIG_WAN is not set
+CONFIG_PPP=y
+# CONFIG_PPP_MULTILINK is not set
+CONFIG_PPP_FILTER=y
+CONFIG_PPP_ASYNC=y
+# CONFIG_PPP_SYNC_TTY is not set
+CONFIG_PPP_DEFLATE=y
+CONFIG_PPP_BSDCOMP=y
+# CONFIG_PPPOE is not set
+# CONFIG_SLIP is not set
+# CONFIG_SHAPER is not set
+# CONFIG_NETCONSOLE is not set
+
+#
+# ISDN subsystem
+#
+# CONFIG_ISDN is not set
+
+#
+# Input device support
+#
+CONFIG_INPUT=y
+
+#
+# Userland interfaces
+#
+CONFIG_INPUT_MOUSEDEV=y
+# CONFIG_INPUT_MOUSEDEV_PSAUX is not set
+CONFIG_INPUT_MOUSEDEV_SCREEN_X=1024
+CONFIG_INPUT_MOUSEDEV_SCREEN_Y=768
+# CONFIG_INPUT_JOYDEV is not set
+# CONFIG_INPUT_TSDEV is not set
+CONFIG_INPUT_EVDEV=y
+# CONFIG_INPUT_EVBUG is not set
+
+#
+# Input Device Drivers
+#
+CONFIG_INPUT_KEYBOARD=y
+# CONFIG_KEYBOARD_ATKBD is not set
+# CONFIG_KEYBOARD_SUNKBD is not set
+# CONFIG_KEYBOARD_LKKBD is not set
+# CONFIG_KEYBOARD_XTKBD is not set
+# CONFIG_KEYBOARD_NEWTON is not set
+CONFIG_KEYBOARD_OMAP=y
+# CONFIG_INPUT_MOUSE is not set
+# CONFIG_INPUT_JOYSTICK is not set
+# CONFIG_INPUT_TOUCHSCREEN is not set
+# CONFIG_INPUT_MISC is not set
+
+#
+# Hardware I/O ports
+#
+CONFIG_SERIO=y
+CONFIG_SERIO_SERPORT=y
+# CONFIG_SERIO_RAW is not set
+# CONFIG_GAMEPORT is not set
+
+#
+# Character devices
+#
+CONFIG_VT=y
+CONFIG_VT_CONSOLE=y
+CONFIG_HW_CONSOLE=y
+# CONFIG_SERIAL_NONSTANDARD is not set
+
+#
+# Serial drivers
+#
+CONFIG_SERIAL_8250=y
+CONFIG_SERIAL_8250_CONSOLE=y
+CONFIG_SERIAL_8250_NR_UARTS=4
+# CONFIG_SERIAL_8250_EXTENDED is not set
+
+#
+# Non-8250 serial port support
+#
+CONFIG_SERIAL_CORE=y
+CONFIG_SERIAL_CORE_CONSOLE=y
+CONFIG_UNIX98_PTYS=y
+# CONFIG_LEGACY_PTYS is not set
+
+#
+# IPMI
+#
+# CONFIG_IPMI_HANDLER is not set
+
+#
+# Watchdog Cards
+#
+CONFIG_WATCHDOG=y
+CONFIG_WATCHDOG_NOWAYOUT=y
+
+#
+# Watchdog Device Drivers
+#
+# CONFIG_SOFT_WATCHDOG is not set
+
+#
+# USB-based Watchdog Cards
+#
+# CONFIG_USBPCWATCHDOG is not set
+CONFIG_OMAP16XX_WATCHDOG=y
+CONFIG_OMAP16XX_RNG=y
+# CONFIG_NVRAM is not set
+# CONFIG_RTC is not set
+# CONFIG_OMAP_RTC is not set
+# CONFIG_DTLK is not set
+# CONFIG_R3964 is not set
+
+#
+# Ftape, the floppy tape device driver
+#
+# CONFIG_DRM is not set
+# CONFIG_RAW_DRIVER is not set
+
+#
+# TPM devices
+#
+
+#
+# I2C support
+#
+CONFIG_I2C=y
+# CONFIG_I2C_CHARDEV is not set
+
+#
+# I2C Algorithms
+#
+# CONFIG_I2C_ALGOBIT is not set
+# CONFIG_I2C_ALGOPCF is not set
+# CONFIG_I2C_ALGOPCA is not set
+
+#
+# I2C Hardware Bus support
+#
+# CONFIG_I2C_ISA is not set
+# CONFIG_I2C_PARPORT_LIGHT is not set
+# CONFIG_I2C_STUB is not set
+# CONFIG_I2C_PCA_ISA is not set
+CONFIG_I2C_OMAP=y
+
+#
+# Hardware Sensors Chip support
+#
+# CONFIG_I2C_SENSOR is not set
+# CONFIG_SENSORS_ADM1021 is not set
+# CONFIG_SENSORS_ADM1025 is not set
+# CONFIG_SENSORS_ADM1026 is not set
+# CONFIG_SENSORS_ADM1031 is not set
+# CONFIG_SENSORS_ASB100 is not set
+# CONFIG_SENSORS_DS1621 is not set
+# CONFIG_SENSORS_FSCHER is not set
+# CONFIG_SENSORS_FSCPOS is not set
+# CONFIG_SENSORS_GL518SM is not set
+# CONFIG_SENSORS_GL520SM is not set
+# CONFIG_SENSORS_IT87 is not set
+# CONFIG_SENSORS_LM63 is not set
+# CONFIG_SENSORS_LM75 is not set
+# CONFIG_SENSORS_LM77 is not set
+# CONFIG_SENSORS_LM78 is not set
+# CONFIG_SENSORS_LM80 is not set
+# CONFIG_SENSORS_LM83 is not set
+# CONFIG_SENSORS_LM85 is not set
+# CONFIG_SENSORS_LM87 is not set
+# CONFIG_SENSORS_LM90 is not set
+# CONFIG_SENSORS_LM92 is not set
+# CONFIG_SENSORS_MAX1619 is not set
+# CONFIG_SENSORS_PC87360 is not set
+# CONFIG_SENSORS_SMSC47B397 is not set
+# CONFIG_SENSORS_SMSC47M1 is not set
+# CONFIG_SENSORS_W83781D is not set
+# CONFIG_SENSORS_W83L785TS is not set
+# CONFIG_SENSORS_W83627HF is not set
+
+#
+# Other I2C Chip support
+#
+# CONFIG_SENSORS_DS1337 is not set
+# CONFIG_SENSORS_EEPROM is not set
+# CONFIG_SENSORS_PCF8574 is not set
+# CONFIG_SENSORS_PCF8591 is not set
+# CONFIG_SENSORS_RTC8564 is not set
+# CONFIG_ISP1301_OMAP is not set
+# CONFIG_TPS65010 is not set
+CONFIG_SENSORS_TLV320AIC23=y
+# CONFIG_GPIOEXPANDER_OMAP is not set
+# CONFIG_I2C_DEBUG_CORE is not set
+# CONFIG_I2C_DEBUG_ALGO is not set
+# CONFIG_I2C_DEBUG_BUS is not set
+# CONFIG_I2C_DEBUG_CHIP is not set
+
+#
+# Misc devices
+#
+CONFIG_NOKIA_OMAP_USBTEST=m
+
+#
+# Multimedia devices
+#
+# CONFIG_VIDEO_DEV is not set
+
+#
+# Digital Video Broadcasting Devices
+#
+# CONFIG_DVB is not set
+
+#
+# Graphics support
+#
+CONFIG_FB=y
+# CONFIG_FB_CFB_FILLRECT is not set
+# CONFIG_FB_CFB_COPYAREA is not set
+# CONFIG_FB_CFB_IMAGEBLIT is not set
+CONFIG_FB_SOFT_CURSOR=y
+# CONFIG_FB_MACMODES is not set
+# CONFIG_FB_MODE_HELPERS is not set
+# CONFIG_FB_TILEBLITTING is not set
+# CONFIG_FB_S1D13XXX is not set
+CONFIG_FB_OMAP=y
+CONFIG_FB_OMAP_INTERNAL_LCDC=y
+CONFIG_FB_OMAP_EXTERNAL_LCDC=y
+CONFIG_FB_OMAP_LCDC_HWA742=y
+CONFIG_FB_OMAP_MANUAL_UPDATE=y
+CONFIG_FB_OMAP_LCD_LPH8923=y
+CONFIG_FB_OMAP_DMA_TUNE=y
+# CONFIG_FB_VIRTUAL is not set
+
+#
+# Console display driver support
+#
+# CONFIG_VGA_CONSOLE is not set
+CONFIG_DUMMY_CONSOLE=y
+# CONFIG_FRAMEBUFFER_CONSOLE is not set
+
+#
+# Logo configuration
+#
+# CONFIG_LOGO is not set
+# CONFIG_BACKLIGHT_LCD_SUPPORT is not set
+
+#
+# Sound
+#
+CONFIG_SOUND=y
+
+#
+# Advanced Linux Sound Architecture
+#
+CONFIG_SND=y
+CONFIG_SND_TIMER=y
+CONFIG_SND_PCM=y
+CONFIG_SND_RAWMIDI=y
+# CONFIG_SND_SEQUENCER is not set
+# CONFIG_SND_MIXER_OSS is not set
+# CONFIG_SND_PCM_OSS is not set
+# CONFIG_SND_VERBOSE_PRINTK is not set
+# CONFIG_SND_DEBUG is not set
+
+#
+# Generic devices
+#
+CONFIG_SND_DUMMY=y
+# CONFIG_SND_MTPAV is not set
+# CONFIG_SND_SERIAL_U16550 is not set
+# CONFIG_SND_MPU401 is not set
+
+#
+# ALSA ARM devices
+#
+
+#
+# USB devices
+#
+CONFIG_SND_USB_AUDIO=y
+
+#
+# Open Sound System
+#
+# CONFIG_SOUND_PRIME is not set
+
+#
+# USB support
+#
+CONFIG_USB_ARCH_HAS_HCD=y
+CONFIG_USB_ARCH_HAS_OHCI=y
+CONFIG_USB=y
+# CONFIG_USB_DEBUG is not set
+
+#
+# Miscellaneous USB options
+#
+CONFIG_USB_DEVICEFS=y
+CONFIG_USB_BANDWIDTH=y
+# CONFIG_USB_DYNAMIC_MINORS is not set
+CONFIG_USB_SUSPEND=y
+CONFIG_USB_OTG=y
+# CONFIG_USB_OTG_WHITELIST is not set
+
+#
+# USB Host Controller Drivers
+#
+CONFIG_USB_OHCI_HCD=y
+# CONFIG_USB_OHCI_BIG_ENDIAN is not set
+CONFIG_USB_OHCI_LITTLE_ENDIAN=y
+# CONFIG_USB_SL811_HCD is not set
+
+#
+# USB Device Class drivers
+#
+# CONFIG_USB_AUDIO is not set
+
+#
+# USB Bluetooth TTY can only be used with disabled Bluetooth subsystem
+#
+# CONFIG_USB_MIDI is not set
+# CONFIG_USB_ACM is not set
+# CONFIG_USB_PRINTER is not set
+
+#
+# NOTE: USB_STORAGE enables SCSI, and 'SCSI disk support' may also be needed; see USB_STORAGE Help for more information
+#
+CONFIG_USB_STORAGE=y
+# CONFIG_USB_STORAGE_DEBUG is not set
+# CONFIG_USB_STORAGE_DATAFAB is not set
+# CONFIG_USB_STORAGE_FREECOM is not set
+# CONFIG_USB_STORAGE_DPCM is not set
+# CONFIG_USB_STORAGE_USBAT is not set
+# CONFIG_USB_STORAGE_SDDR09 is not set
+# CONFIG_USB_STORAGE_SDDR55 is not set
+# CONFIG_USB_STORAGE_JUMPSHOT is not set
+
+#
+# USB Input Devices
+#
+CONFIG_USB_HID=y
+CONFIG_USB_HIDINPUT=y
+# CONFIG_HID_FF is not set
+# CONFIG_USB_HIDDEV is not set
+# CONFIG_USB_AIPTEK is not set
+# CONFIG_USB_WACOM is not set
+# CONFIG_USB_KBTAB is not set
+# CONFIG_USB_POWERMATE is not set
+# CONFIG_USB_MTOUCH is not set
+# CONFIG_USB_EGALAX is not set
+# CONFIG_USB_XPAD is not set
+# CONFIG_USB_ATI_REMOTE is not set
+
+#
+# USB Imaging devices
+#
+# CONFIG_USB_MDC800 is not set
+# CONFIG_USB_MICROTEK is not set
+
+#
+# USB Multimedia devices
+#
+# CONFIG_USB_DABUSB is not set
+
+#
+# Video4Linux support is needed for USB Multimedia device support
+#
+
+#
+# USB Network Adapters
+#
+# CONFIG_USB_CATC is not set
+# CONFIG_USB_KAWETH is not set
+# CONFIG_USB_PEGASUS is not set
+# CONFIG_USB_RTL8150 is not set
+CONFIG_USB_USBNET=y
+
+#
+# USB Host-to-Host Cables
+#
+CONFIG_USB_ALI_M5632=y
+# CONFIG_USB_AN2720 is not set
+# CONFIG_USB_BELKIN is not set
+# CONFIG_USB_GENESYS is not set
+# CONFIG_USB_NET1080 is not set
+# CONFIG_USB_PL2301 is not set
+# CONFIG_USB_KC2190 is not set
+
+#
+# Intelligent USB Devices/Gadgets
+#
+# CONFIG_USB_ARMLINUX is not set
+# CONFIG_USB_EPSON2888 is not set
+# CONFIG_USB_ZAURUS is not set
+# CONFIG_USB_CDCETHER is not set
+
+#
+# USB Network Adapters
+#
+CONFIG_USB_AX8817X=y
+# CONFIG_USB_ZD1201 is not set
+# CONFIG_USB_MON is not set
+
+#
+# USB port drivers
+#
+
+#
+# USB Serial Converter support
+#
+CONFIG_USB_SERIAL=y
+CONFIG_USB_SERIAL_CONSOLE=y
+# CONFIG_USB_SERIAL_GENERIC is not set
+# CONFIG_USB_SERIAL_AIRPRIME is not set
+# CONFIG_USB_SERIAL_BELKIN is not set
+# CONFIG_USB_SERIAL_WHITEHEAT is not set
+# CONFIG_USB_SERIAL_DIGI_ACCELEPORT is not set
+# CONFIG_USB_SERIAL_CP2101 is not set
+# CONFIG_USB_SERIAL_CYPRESS_M8 is not set
+# CONFIG_USB_SERIAL_EMPEG is not set
+# CONFIG_USB_SERIAL_FTDI_SIO is not set
+# CONFIG_USB_SERIAL_VISOR is not set
+# CONFIG_USB_SERIAL_IPAQ is not set
+# CONFIG_USB_SERIAL_IR is not set
+# CONFIG_USB_SERIAL_EDGEPORT is not set
+# CONFIG_USB_SERIAL_EDGEPORT_TI is not set
+# CONFIG_USB_SERIAL_GARMIN is not set
+# CONFIG_USB_SERIAL_IPW is not set
+# CONFIG_USB_SERIAL_KEYSPAN_PDA is not set
+# CONFIG_USB_SERIAL_KEYSPAN is not set
+# CONFIG_USB_SERIAL_KLSI is not set
+# CONFIG_USB_SERIAL_KOBIL_SCT is not set
+# CONFIG_USB_SERIAL_MCT_U232 is not set
+CONFIG_USB_SERIAL_PL2303=y
+# CONFIG_USB_SERIAL_HP4X is not set
+# CONFIG_USB_SERIAL_SAFE is not set
+# CONFIG_USB_SERIAL_TI is not set
+# CONFIG_USB_SERIAL_CYBERJACK is not set
+# CONFIG_USB_SERIAL_XIRCOM is not set
+# CONFIG_USB_SERIAL_OMNINET is not set
+
+#
+# USB Miscellaneous drivers
+#
+# CONFIG_USB_EMI62 is not set
+# CONFIG_USB_EMI26 is not set
+# CONFIG_USB_AUERSWALD is not set
+# CONFIG_USB_RIO500 is not set
+# CONFIG_USB_LEGOTOWER is not set
+# CONFIG_USB_LCD is not set
+# CONFIG_USB_LED is not set
+# CONFIG_USB_CYTHERM is not set
+# CONFIG_USB_PHIDGETKIT is not set
+# CONFIG_USB_PHIDGETSERVO is not set
+# CONFIG_USB_IDMOUSE is not set
+# CONFIG_USB_TEST is not set
+
+#
+# USB ATM/DSL drivers
+#
+
+#
+# USB Gadget Support
+#
+CONFIG_USB_GADGET=y
+# CONFIG_USB_GADGET_DEBUG_FILES is not set
+# CONFIG_USB_GADGET_NET2280 is not set
+# CONFIG_USB_GADGET_PXA2XX is not set
+# CONFIG_USB_GADGET_GOKU is not set
+# CONFIG_USB_GADGET_LH7A40X is not set
+CONFIG_USB_GADGET_OMAP=y
+CONFIG_USB_OMAP=y
+# CONFIG_USB_GADGET_DUMMY_HCD is not set
+# CONFIG_USB_GADGET_DUALSPEED is not set
+# CONFIG_USB_ZERO is not set
+CONFIG_USB_ETH=m
+CONFIG_USB_ETH_RNDIS=y
+# CONFIG_USB_GADGETFS is not set
+CONFIG_USB_FILE_STORAGE=m
+CONFIG_USB_FILE_STORAGE_TEST=y
+# CONFIG_USB_G_SERIAL is not set
+
+#
+# MMC/SD Card support
+#
+CONFIG_MMC=y
+# CONFIG_MMC_DEBUG is not set
+CONFIG_MMC_BLOCK=y
+CONFIG_MMC_BLOCK_BROKEN_RFD=y
+CONFIG_MMC_BULKTRANSFER=y
+CONFIG_MMC_OMAP=y
+# CONFIG_MMC_WBSD is not set
+
+#
+# Synchronous Serial Interfaces (SSI)
+#
+CONFIG_OMAP_UWIRE=y
+# CONFIG_OMAP_TSC2101 is not set
+CONFIG_OMAP_UWIRE_ADS7846=y
+
+#
+# CBUS support
+#
+CONFIG_CBUS=y
+CONFIG_CBUS_TAHVO=y
+CONFIG_CBUS_TAHVO_USER=y
+CONFIG_CBUS_TAHVO_USB=y
+# CONFIG_CBUS_TAHVO_USB_HOST_BY_DEFAULT is not set
+CONFIG_CBUS_RETU=y
+CONFIG_CBUS_RETU_USER=y
+CONFIG_CBUS_RETU_POWERBUTTON=y
+CONFIG_CBUS_RETU_RTC=y
+CONFIG_CBUS_RETU_WDT=y
+
+#
+# File systems
+#
+CONFIG_EXT2_FS=y
+# CONFIG_EXT2_FS_XATTR is not set
+CONFIG_EXT3_FS=y
+CONFIG_EXT3_FS_XATTR=y
+# CONFIG_EXT3_FS_POSIX_ACL is not set
+# CONFIG_EXT3_FS_SECURITY is not set
+CONFIG_JBD=y
+# CONFIG_JBD_DEBUG is not set
+CONFIG_FS_MBCACHE=y
+# CONFIG_REISERFS_FS is not set
+# CONFIG_JFS_FS is not set
+
+#
+# XFS support
+#
+# CONFIG_XFS_FS is not set
+# CONFIG_MINIX_FS is not set
+# CONFIG_ROMFS_FS is not set
+# CONFIG_QUOTA is not set
+CONFIG_DNOTIFY=y
+# CONFIG_AUTOFS_FS is not set
+# CONFIG_AUTOFS4_FS is not set
+
+#
+# CD-ROM/DVD Filesystems
+#
+# CONFIG_ISO9660_FS is not set
+# CONFIG_UDF_FS is not set
+
+#
+# DOS/FAT/NT Filesystems
+#
+CONFIG_FAT_FS=y
+CONFIG_MSDOS_FS=y
+CONFIG_VFAT_FS=y
+CONFIG_FAT_DEFAULT_CODEPAGE=437
+CONFIG_FAT_DEFAULT_IOCHARSET="iso8859-1"
+# CONFIG_NTFS_FS is not set
+
+#
+# Pseudo filesystems
+#
+CONFIG_PROC_FS=y
+CONFIG_SYSFS=y
+# CONFIG_DEVFS_FS is not set
+# CONFIG_DEVPTS_FS_XATTR is not set
+CONFIG_TMPFS=y
+# CONFIG_TMPFS_XATTR is not set
+# CONFIG_HUGETLB_PAGE is not set
+CONFIG_RAMFS=y
+
+#
+# Miscellaneous filesystems
+#
+# CONFIG_ADFS_FS is not set
+# CONFIG_AFFS_FS is not set
+# CONFIG_HFS_FS is not set
+# CONFIG_HFSPLUS_FS is not set
+# CONFIG_BEFS_FS is not set
+# CONFIG_BFS_FS is not set
+# CONFIG_EFS_FS is not set
+# CONFIG_JFFS_FS is not set
+CONFIG_JFFS2_FS=y
+CONFIG_JFFS2_FS_DEBUG=0
+CONFIG_JFFS2_FS_WRITEBUFFER=y
+CONFIG_JFFS2_SUMMARY=y
+CONFIG_JFFS2_COMPRESSION_OPTIONS=y
+CONFIG_JFFS2_ZLIB=y
+CONFIG_JFFS2_RTIME=y
+# CONFIG_JFFS2_RUBIN is not set
+# CONFIG_JFFS2_CMODE_NONE is not set
+CONFIG_JFFS2_CMODE_PRIORITY=y
+# CONFIG_JFFS2_CMODE_SIZE is not set
+# CONFIG_CRAMFS is not set
+# CONFIG_VXFS_FS is not set
+# CONFIG_HPFS_FS is not set
+# CONFIG_QNX4FS_FS is not set
+# CONFIG_SYSV_FS is not set
+# CONFIG_UFS_FS is not set
+
+#
+# Network File Systems
+#
+CONFIG_NFS_FS=y
+CONFIG_NFS_V3=y
+# CONFIG_NFS_V4 is not set
+# CONFIG_NFS_DIRECTIO is not set
+# CONFIG_NFSD is not set
+# CONFIG_ROOT_NFS is not set
+CONFIG_LOCKD=y
+CONFIG_LOCKD_V4=y
+CONFIG_SUNRPC=y
+# CONFIG_RPCSEC_GSS_KRB5 is not set
+# CONFIG_RPCSEC_GSS_SPKM3 is not set
+CONFIG_SMB_FS=m
+# CONFIG_SMB_NLS_DEFAULT is not set
+CONFIG_CIFS=m
+# CONFIG_CIFS_STATS is not set
+# CONFIG_CIFS_XATTR is not set
+# CONFIG_CIFS_EXPERIMENTAL is not set
+# CONFIG_NCP_FS is not set
+# CONFIG_CODA_FS is not set
+# CONFIG_AFS_FS is not set
+
+#
+# Partition Types
+#
+CONFIG_PARTITION_ADVANCED=y
+# CONFIG_ACORN_PARTITION is not set
+# CONFIG_OSF_PARTITION is not set
+# CONFIG_AMIGA_PARTITION is not set
+# CONFIG_ATARI_PARTITION is not set
+# CONFIG_MAC_PARTITION is not set
+CONFIG_MSDOS_PARTITION=y
+# CONFIG_BSD_DISKLABEL is not set
+# CONFIG_MINIX_SUBPARTITION is not set
+# CONFIG_SOLARIS_X86_PARTITION is not set
+# CONFIG_UNIXWARE_DISKLABEL is not set
+# CONFIG_LDM_PARTITION is not set
+# CONFIG_SGI_PARTITION is not set
+# CONFIG_ULTRIX_PARTITION is not set
+# CONFIG_SUN_PARTITION is not set
+# CONFIG_EFI_PARTITION is not set
+
+#
+# Native Language Support
+#
+CONFIG_NLS=y
+CONFIG_NLS_DEFAULT="iso8859-1"
+CONFIG_NLS_CODEPAGE_437=y
+# CONFIG_NLS_CODEPAGE_737 is not set
+# CONFIG_NLS_CODEPAGE_775 is not set
+# CONFIG_NLS_CODEPAGE_850 is not set
+CONFIG_NLS_CODEPAGE_852=y
+# CONFIG_NLS_CODEPAGE_855 is not set
+# CONFIG_NLS_CODEPAGE_857 is not set
+# CONFIG_NLS_CODEPAGE_860 is not set
+# CONFIG_NLS_CODEPAGE_861 is not set
+# CONFIG_NLS_CODEPAGE_862 is not set
+# CONFIG_NLS_CODEPAGE_863 is not set
+# CONFIG_NLS_CODEPAGE_864 is not set
+# CONFIG_NLS_CODEPAGE_865 is not set
+# CONFIG_NLS_CODEPAGE_866 is not set
+# CONFIG_NLS_CODEPAGE_869 is not set
+# CONFIG_NLS_CODEPAGE_936 is not set
+# CONFIG_NLS_CODEPAGE_950 is not set
+# CONFIG_NLS_CODEPAGE_932 is not set
+# CONFIG_NLS_CODEPAGE_949 is not set
+# CONFIG_NLS_CODEPAGE_874 is not set
+# CONFIG_NLS_ISO8859_8 is not set
+# CONFIG_NLS_CODEPAGE_1250 is not set
+# CONFIG_NLS_CODEPAGE_1251 is not set
+# CONFIG_NLS_ASCII is not set
+CONFIG_NLS_ISO8859_1=y
+# CONFIG_NLS_ISO8859_2 is not set
+# CONFIG_NLS_ISO8859_3 is not set
+# CONFIG_NLS_ISO8859_4 is not set
+# CONFIG_NLS_ISO8859_5 is not set
+# CONFIG_NLS_ISO8859_6 is not set
+# CONFIG_NLS_ISO8859_7 is not set
+# CONFIG_NLS_ISO8859_9 is not set
+# CONFIG_NLS_ISO8859_13 is not set
+# CONFIG_NLS_ISO8859_14 is not set
+CONFIG_NLS_ISO8859_15=y
+# CONFIG_NLS_KOI8_R is not set
+# CONFIG_NLS_KOI8_U is not set
+CONFIG_NLS_UTF8=y
+
+#
+# Profiling support
+#
+# CONFIG_PROFILING is not set
+
+#
+# Kernel hacking
+#
+# CONFIG_PRINTK_TIME is not set
+CONFIG_DEBUG_KERNEL=y
+CONFIG_MAGIC_SYSRQ=y
+CONFIG_LOG_BUF_SHIFT=14
+# CONFIG_SCHEDSTATS is not set
+# CONFIG_DEBUG_SLAB is not set
+# CONFIG_DEBUG_SPINLOCK is not set
+# CONFIG_DEBUG_SPINLOCK_SLEEP is not set
+# CONFIG_DEBUG_KOBJECT is not set
+CONFIG_DEBUG_BUGVERBOSE=y
+# CONFIG_DEBUG_INFO is not set
+# CONFIG_DEBUG_FS is not set
+CONFIG_FRAME_POINTER=y
+# CONFIG_DEBUG_USER is not set
+# CONFIG_DEBUG_WAITQ is not set
+CONFIG_DEBUG_ERRORS=y
+# CONFIG_DEBUG_LL is not set
+
+#
+# Security options
+#
+# CONFIG_KEYS is not set
+CONFIG_SECURITY=y
+# CONFIG_SECURITY_NETWORK is not set
+# CONFIG_SECURITY_CAPABILITIES is not set
+# CONFIG_SECURITY_ROOTPLUG is not set
+# CONFIG_SECURITY_SECLVL is not set
+CONFIG_SECURITY_LOWMEM=y
+# CONFIG_SECURITY_SELINUX is not set
+
+#
+# Cryptographic options
+#
+# CONFIG_CRYPTO is not set
+
+#
+# Hardware crypto devices
+#
+
+#
+# Library routines
+#
+CONFIG_CRC_CCITT=y
+CONFIG_CRC32=y
+# CONFIG_LIBCRC32C is not set
+CONFIG_ZLIB_INFLATE=y
+CONFIG_ZLIB_DEFLATE=y
diff -uNr kernel-build-old/su-18-kernel-2.6.12.3/debian/rules kernel-build/su-18-kernel-2.6.12.3/debian/rules
--- kernel-build-old/su-18-kernel-2.6.12.3/debian/rules	2005-11-20 15:20:51.000000000 +0000
+++ kernel-build/su-18-kernel-2.6.12.3/debian/rules	2006-04-30 23:33:03.000000000 +0100
@@ -21,10 +21,15 @@

 	# Unpack kernel sources
 	tar jxf /usr/src/kernel-source-$(SOURCE_VERSION).tar.bz2
+
+	# cifs patch
+	patch -i debian/su-18-kernel-source-cifs.patch -p2

 	echo "compile su-18 kernel"
+	cp -f $(CURDIR)/debian/n770_cifsconfig $(CURDIR)/kernel-source-$(SOURCE_VERSION)/arch/arm/configs/n770_defconfig
 	cd $(CURDIR)/kernel-source-$(SOURCE_VERSION)/ && \
 	make HOSTCC=host-gcc n770_defconfig && \
+	make HOSTCC=host-gcc modules && \
 	make HOSTCC=host-gcc zImage

 	touch build-stamp
@@ -45,13 +50,18 @@
 	dh_installdirs

 	install $(CURDIR)/kernel-source-$(SOURCE_VERSION)/arch/arm/boot/zImage \
-                $(CURDIR)/debian/tmp/usr/share/osso/kernels/zImage-su-18-$(WEEK) && \
+		$(CURDIR)/debian/tmp/usr/share/osso/kernels/zImage-su-18-$(WEEK) && \
 	cd $(CURDIR)/kernel-source-$(SOURCE_VERSION); \
 	install -p -o root -g root -m 644 .config  $(CURDIR)/debian/su-18-kernel-headers/usr/src/su-18-kernel-headers/ && \
 	install -p -o root -g root -m 644 Makefile $(CURDIR)/debian/su-18-kernel-headers/usr/src/su-18-kernel-headers/ && \
         tar cf - include | (cd $(CURDIR)/debian/su-18-kernel-headers/usr/src/su-18-kernel-headers/; \
 	umask 000; tar xsf -)

+	# Copy the cifs.ko module
+	mkdir -p $(CURDIR)/debian/su-18-kernel-cifs/lib/modules/2.6.12.3
+	cd $(CURDIR)/kernel-source-$(SOURCE_VERSION); \
+		install -p -o root -g root -m 644  fs/cifs/cifs.ko $(CURDIR)/debian/su-18-kernel-cifs/lib/modules/$(SOURCE_VERSION)
+
 # Build architecture-independent files here.
 binary-indep: build install
 # We have nothing to do by default.
diff -uNr kernel-build-old/su-18-kernel-2.6.12.3/debian/su-18-kernel-source-cifs.patch kernel-build/su-18-kernel-2.6.12.3/debian/su-18-kernel-source-cifs.patch
--- kernel-build-old/su-18-kernel-2.6.12.3/debian/su-18-kernel-source-cifs.patch	1970-01-01 01:00:00.000000000 +0100
+++ kernel-build/su-18-kernel-2.6.12.3/debian/su-18-kernel-source-cifs.patch	2006-04-30 23:33:22.000000000 +0100
@@ -0,0 +1,1139 @@
+diff -uNr kernel-build-old/su-18-kernel-2.6.12.3/kernel-source-2.6.12.3/fs/cifs/cifspdu.h kernel-build/su-18-kernel-2.6.12.3/kernel-source-2.6.12.3/fs/cifs/cifspdu.h
+--- kernel-build-old/su-18-kernel-2.6.12.3/kernel-source-2.6.12.3/fs/cifs/cifspdu.h	2005-12-13 12:49:30.000000000 +0000
++++ kernel-build/su-18-kernel-2.6.12.3/kernel-source-2.6.12.3/fs/cifs/cifspdu.h	2006-04-29 16:33:34.000000000 +0100
+@@ -76,7 +76,7 @@
+ #define NT_TRANSACT_GET_USER_QUOTA    0x07
+ #define NT_TRANSACT_SET_USER_QUOTA    0x08
+
+-#define MAX_CIFS_HDR_SIZE 256	/* chained NTCreateXReadX will probably be biggest */
++#define MAX_CIFS_HDR_SIZE 256	/* is future chained NTCreateXReadX bigger? */
+
+ /* internal cifs vfs structures */
+ /*****************************************************************
+@@ -129,10 +129,11 @@
+ /*
+  * SMB flag definitions
+  */
+-#define SMBFLG_EXTD_LOCK 0x01	/* server supports lock-read write-unlock primitives */
++#define SMBFLG_EXTD_LOCK 0x01	/* server supports lock-read write-unlock smb */
+ #define SMBFLG_RCV_POSTED 0x02	/* obsolete */
+ #define SMBFLG_RSVD 0x04
+-#define SMBFLG_CASELESS 0x08	/* all pathnames treated as caseless (off implies case sensitive file handling requested) */
++#define SMBFLG_CASELESS 0x08	/* all pathnames treated as caseless (off
++				implies case sensitive file handling request) */
+ #define SMBFLG_CANONICAL_PATH_FORMAT 0x10	/* obsolete */
+ #define SMBFLG_OLD_OPLOCK 0x20	/* obsolete */
+ #define SMBFLG_OLD_OPLOCK_NOTIFY 0x40	/* obsolete */
+@@ -141,7 +142,8 @@
+ /*
+  * SMB flag2 definitions
+  */
+-#define SMBFLG2_KNOWS_LONG_NAMES cpu_to_le16(1)	/* can send long (non-8.3) path names in response */
++#define SMBFLG2_KNOWS_LONG_NAMES cpu_to_le16(1)	/* can send long (non-8.3)
++						   path names in response */
+ #define SMBFLG2_KNOWS_EAS cpu_to_le16(2)
+ #define SMBFLG2_SECURITY_SIGNATURE cpu_to_le16(4)
+ #define SMBFLG2_IS_LONG_NAME cpu_to_le16(0x40)
+@@ -160,32 +162,32 @@
+  * file and can have any suitable combination of the following values:
+  */
+
+-#define FILE_READ_DATA        0x00000001	/* Data can be read from the file   */
+-#define FILE_WRITE_DATA       0x00000002	/* Data can be written to the file  */
+-#define FILE_APPEND_DATA      0x00000004	/* Data can be appended to the file */
+-#define FILE_READ_EA          0x00000008	/* Extended attributes associated   */
+-					 /* with the file can be read        */
+-#define FILE_WRITE_EA         0x00000010	/* Extended attributes associated   */
+-					 /* with the file can be written     */
+-#define FILE_EXECUTE          0x00000020	/*Data can be read into memory from */
+-					 /* the file using system paging I/O */
++#define FILE_READ_DATA        0x00000001  /* Data can be read from the file   */
++#define FILE_WRITE_DATA       0x00000002  /* Data can be written to the file  */
++#define FILE_APPEND_DATA      0x00000004  /* Data can be appended to the file */
++#define FILE_READ_EA          0x00000008  /* Extended attributes associated   */
++					  /* with the file can be read        */
++#define FILE_WRITE_EA         0x00000010  /* Extended attributes associated   */
++					  /* with the file can be written     */
++#define FILE_EXECUTE          0x00000020  /*Data can be read into memory from */
++					  /* the file using system paging I/O */
+ #define FILE_DELETE_CHILD     0x00000040
+-#define FILE_READ_ATTRIBUTES  0x00000080	/* Attributes associated with the   */
+-					 /* file can be read                 */
+-#define FILE_WRITE_ATTRIBUTES 0x00000100	/* Attributes associated with the   */
+-					 /* file can be written              */
+-#define DELETE                0x00010000	/* The file can be deleted          */
+-#define READ_CONTROL          0x00020000	/* The access control list and      */
+-					 /* ownership associated with the    */
+-					 /* file can be read                 */
+-#define WRITE_DAC             0x00040000	/* The access control list and      */
+-					 /* ownership associated with the    */
+-					 /* file can be written.             */
+-#define WRITE_OWNER           0x00080000	/* Ownership information associated */
+-					 /* with the file can be written     */
+-#define SYNCHRONIZE           0x00100000	/* The file handle can waited on to */
+-					 /* synchronize with the completion  */
+-					 /* of an input/output request       */
++#define FILE_READ_ATTRIBUTES  0x00000080  /* Attributes associated with the   */
++					  /* file can be read                 */
++#define FILE_WRITE_ATTRIBUTES 0x00000100  /* Attributes associated with the   */
++					  /* file can be written              */
++#define DELETE                0x00010000  /* The file can be deleted          */
++#define READ_CONTROL          0x00020000  /* The access control list and      */
++					  /* ownership associated with the    */
++					  /* file can be read                 */
++#define WRITE_DAC             0x00040000  /* The access control list and      */
++					  /* ownership associated with the    */
++					  /* file can be written.             */
++#define WRITE_OWNER           0x00080000  /* Ownership information associated */
++					  /* with the file can be written     */
++#define SYNCHRONIZE           0x00100000  /* The file handle can waited on to */
++					  /* synchronize with the completion  */
++					  /* of an input/output request       */
+ #define GENERIC_ALL           0x10000000
+ #define GENERIC_EXECUTE       0x20000000
+ #define GENERIC_WRITE         0x40000000
+@@ -193,7 +195,7 @@
+ 					 /* In summary - Relevant file       */
+ 					 /* access flags from CIFS are       */
+ 					 /* file_read_data, file_write_data  */
+-					 /* file_execute, file_read_attributes */
++					 /* file_execute, file_read_attributes*/
+ 					 /* write_dac, and delete.           */
+
+ /*
+@@ -238,7 +240,8 @@
+ #define ATTR_SPARSE    0x0200
+ #define ATTR_REPARSE   0x0400
+ #define ATTR_COMPRESSED 0x0800
+-#define ATTR_OFFLINE    0x1000	/* ie file not immediately available - offline storage */
++#define ATTR_OFFLINE    0x1000	/* ie file not immediately available -
++					on offline storage */
+ #define ATTR_NOT_CONTENT_INDEXED 0x2000
+ #define ATTR_ENCRYPTED  0x4000
+ #define ATTR_POSIX_SEMANTICS 0x01000000
+@@ -297,10 +300,10 @@
+ #define GETU16(var)  (*((__u16 *)var))	/* BB check for endian issues */
+ #define GETU32(var)  (*((__u32 *)var))	/* BB check for endian issues */
+
+-#pragma pack(1)
+-
+ struct smb_hdr {
+-	__u32 smb_buf_length;	/* big endian on wire *//* BB length is only two or three bytes - with one or two byte type preceding it but that is always zero - we could mask the type byte off just in case BB */
++	__u32 smb_buf_length;	/* big endian on wire *//* BB length is only two
++		or three bytes - with one or two byte type preceding it that are
++		zero - we could mask the type byte off just in case BB */
+ 	__u8 Protocol[4];
+ 	__u8 Command;
+ 	union {
+@@ -308,9 +311,9 @@
+ 			__u8 ErrorClass;
+ 			__u8 Reserved;
+ 			__le16 Error;
+-		} DosError;
++		} __attribute__((packed)) DosError;
+ 		__le32 CifsError;
+-	} Status;
++	} __attribute__((packed)) Status;
+ 	__u8 Flags;
+ 	__le16 Flags2;		/* note: le */
+ 	__le16 PidHigh;
+@@ -318,16 +321,16 @@
+ 		struct {
+ 			__le32 SequenceNumber;  /* le */
+ 			__u32 Reserved; /* zero */
+-		} Sequence;
++		} __attribute__((packed)) Sequence;
+ 		__u8 SecuritySignature[8];	/* le */
+-	} Signature;
++	} __attribute__((packed)) Signature;
+ 	__u8 pad[2];
+ 	__u16 Tid;
+ 	__le16 Pid;
+ 	__u16 Uid;
+ 	__u16 Mid;
+ 	__u8 WordCount;
+-};
++} __attribute__((packed));
+ /* given a pointer to an smb_hdr retrieve the value of byte count */
+ #define BCC(smb_var) ( *(__u16 *)((char *)smb_var + sizeof(struct smb_hdr) + (2* smb_var->WordCount) ) )
+ #define BCC_LE(smb_var) ( *(__le16 *)((char *)smb_var + sizeof(struct smb_hdr) + (2* smb_var->WordCount) ) )
+@@ -379,7 +382,7 @@
+ 	struct smb_hdr hdr;	/* wct = 0 */
+ 	__le16 ByteCount;
+ 	unsigned char DialectsArray[1];
+-} NEGOTIATE_REQ;
++} __attribute__((packed)) NEGOTIATE_REQ;
+
+ typedef struct negotiate_rsp {
+ 	struct smb_hdr hdr;	/* wct = 17 */
+@@ -397,16 +400,16 @@
+ 	__u8 EncryptionKeyLength;
+ 	__u16 ByteCount;
+ 	union {
+-		unsigned char EncryptionKey[1];	/* if cap extended security is off */
++		unsigned char EncryptionKey[1];	/* cap extended security off */
+ 		/* followed by Domain name - if extended security is off */
+ 		/* followed by 16 bytes of server GUID */
+-		/* followed by security blob if cap_extended_security negotiated */
++		/* then security blob if cap_extended_security negotiated */
+ 		struct {
+ 			unsigned char GUID[16];
+ 			unsigned char SecurityBlob[1];
+-		} extended_response;
+-	} u;
+-} NEGOTIATE_RSP;
++		} __attribute__((packed)) extended_response;
++	} __attribute__((packed)) u;
++} __attribute__((packed)) NEGOTIATE_RSP;
+
+ /* SecurityMode bits */
+ #define SECMODE_USER          0x01	/* off indicates share level security */
+@@ -452,7 +455,8 @@
+ 		unsigned char SecurityBlob[1];	/* followed by */
+ 		/* STRING NativeOS */
+ 		/* STRING NativeLanMan */
+-	} req;			/* NTLM request format (with extended security */
++	} __attribute__((packed)) req;	/* NTLM request format (with
++					extended security */
+
+ 	struct {		/* request format */
+ 		struct smb_hdr hdr;	/* wct = 13 */
+@@ -463,18 +467,19 @@
+ 		__le16 MaxMpxCount;
+ 		__le16 VcNumber;
+ 		__u32 SessionKey;
+-		__le16 CaseInsensitivePasswordLength;	/* ASCII password length */
+-		__le16 CaseSensitivePasswordLength;	/* Unicode password length */
++		__le16 CaseInsensitivePasswordLength; /* ASCII password len */
++		__le16 CaseSensitivePasswordLength; /* Unicode password length*/
+ 		__u32 Reserved;	/* see below */
+ 		__le32 Capabilities;
+ 		__le16 ByteCount;
+-		unsigned char CaseInsensitivePassword[1];	/* followed by: */
++		unsigned char CaseInsensitivePassword[1];     /* followed by: */
+ 		/* unsigned char * CaseSensitivePassword; */
+ 		/* STRING AccountName */
+ 		/* STRING PrimaryDomain */
+ 		/* STRING NativeOS */
+ 		/* STRING NativeLanMan */
+-	} req_no_secext;	/* NTLM request format (without extended security */
++	} __attribute__((packed)) req_no_secext; /* NTLM request format (without
++							extended security */
+
+ 	struct {		/* default (NTLM) response format */
+ 		struct smb_hdr hdr;	/* wct = 4 */
+@@ -488,7 +493,7 @@
+ /*      unsigned char  * NativeOS;      */
+ /*	unsigned char  * NativeLanMan;  */
+ /*      unsigned char  * PrimaryDomain; */
+-	} resp;			/* NTLM response format (with or without extended security */
++	} __attribute__((packed)) resp;			/* NTLM response format (with or without extended security */
+
+ 	struct {		/* request format */
+ 		struct smb_hdr hdr;	/* wct = 10 */
+@@ -507,7 +512,7 @@
+ 		/* STRING PrimaryDomain */
+ 		/* STRING NativeOS */
+ 		/* STRING NativeLanMan */
+-	} old_req;		/* pre-NTLM (LANMAN2.1) request format */
++	} __attribute__((packed)) old_req;		/* pre-NTLM (LANMAN2.1) request format */
+
+ 	struct {		/* default (NTLM) response format */
+ 		struct smb_hdr hdr;	/* wct = 3 */
+@@ -519,8 +524,8 @@
+ 		unsigned char NativeOS[1];	/* followed by */
+ /*	unsigned char * NativeLanMan; */
+ /*      unsigned char * PrimaryDomain; */
+-	} old_resp;		/* pre-NTLM (LANMAN2.1) response format */
+-} SESSION_SETUP_ANDX;
++	} __attribute__((packed)) old_resp;		/* pre-NTLM (LANMAN2.1) response format */
++} __attribute__((packed)) SESSION_SETUP_ANDX;
+
+ #define CIFS_NETWORK_OPSYS "CIFS VFS Client for Linux"
+
+@@ -530,7 +535,8 @@
+ #define CAP_NT_SMBS            0x00000010
+ #define CAP_STATUS32           0x00000040
+ #define CAP_LEVEL_II_OPLOCKS   0x00000080
+-#define CAP_NT_FIND            0x00000200	/* reserved should be zero (presumably because NT_SMBs implies the same thing) */
++#define CAP_NT_FIND            0x00000200	/* reserved should be zero
++				(because NT_SMBs implies the same thing?) */
+ #define CAP_BULK_TRANSFER      0x20000000
+ #define CAP_EXTENDED_SECURITY  0x80000000
+
+@@ -548,7 +554,7 @@
+ 	unsigned char Password[1];	/* followed by */
+ /* STRING Path    *//* \\server\share name */
+ 	/* STRING Service */
+-} TCONX_REQ;
++} __attribute__((packed)) TCONX_REQ;
+
+ typedef struct smb_com_tconx_rsp {
+ 	struct smb_hdr hdr;	/* wct = 3 *//* note that Win2000 has sent wct=7 in some cases on responses. Four unspecified words followed OptionalSupport */
+@@ -559,13 +565,14 @@
+ 	__u16 ByteCount;
+ 	unsigned char Service[1];	/* always ASCII, not Unicode */
+ 	/* STRING NativeFileSystem */
+-} TCONX_RSP;
++} __attribute__((packed)) TCONX_RSP;
+
+ /* tree connect Flags */
+ #define DISCONNECT_TID          0x0001
+ #define TCON_EXTENDED_SECINFO   0x0008
+ /* OptionalSupport bits */
+-#define SMB_SUPPORT_SEARCH_BITS 0x0001	/* must have bits (exclusive searches suppt. */
++#define SMB_SUPPORT_SEARCH_BITS 0x0001	/* "must have" directory search bits
++					 (exclusive searches supported) */
+ #define SMB_SHARE_IS_IN_DFS     0x0002
+
+ typedef struct smb_com_logoff_andx_req {
+@@ -574,7 +581,7 @@
+ 	__u8 AndXReserved;
+ 	__u16 AndXOffset;
+ 	__u16 ByteCount;
+-} LOGOFF_ANDX_REQ;
++} __attribute__((packed)) LOGOFF_ANDX_REQ;
+
+ typedef struct smb_com_logoff_andx_rsp {
+ 	struct smb_hdr hdr;	/* wct = 2 */
+@@ -582,36 +589,36 @@
+ 	__u8 AndXReserved;
+ 	__u16 AndXOffset;
+ 	__u16 ByteCount;
+-} LOGOFF_ANDX_RSP;
++} __attribute__((packed)) LOGOFF_ANDX_RSP;
+
+ typedef union smb_com_tree_disconnect {	/* as an altetnative can use flag on tree_connect PDU to effect disconnect *//* probably the simplest SMB PDU */
+ 	struct {
+ 		struct smb_hdr hdr;	/* wct = 0 */
+ 		__u16 ByteCount;	/* bcc = 0 */
+-	} req;
++	} __attribute__((packed)) req;
+ 	struct {
+ 		struct smb_hdr hdr;	/* wct = 0 */
+ 		__u16 ByteCount;	/* bcc = 0 */
+-	} resp;
+-} TREE_DISCONNECT;
++	} __attribute__((packed)) resp;
++} __attribute__((packed)) TREE_DISCONNECT;
+
+ typedef struct smb_com_close_req {
+ 	struct smb_hdr hdr;	/* wct = 3 */
+ 	__u16 FileID;
+ 	__u32 LastWriteTime;	/* should be zero */
+ 	__u16 ByteCount;	/* 0 */
+-} CLOSE_REQ;
++} __attribute__((packed)) CLOSE_REQ;
+
+ typedef struct smb_com_close_rsp {
+ 	struct smb_hdr hdr;	/* wct = 0 */
+ 	__u16 ByteCount;	/* bct = 0 */
+-} CLOSE_RSP;
++} __attribute__((packed)) CLOSE_RSP;
+
+ typedef struct smb_com_findclose_req {
+ 	struct smb_hdr hdr; /* wct = 1 */
+ 	__u16 FileID;
+ 	__u16 ByteCount;    /* 0 */
+-} FINDCLOSE_REQ;
++} __attribute__((packed)) FINDCLOSE_REQ;
+
+ /* OpenFlags */
+ #define REQ_OPLOCK         0x00000002
+@@ -637,7 +644,7 @@
+ 	__u8 SecurityFlags;
+ 	__le16 ByteCount;
+ 	char fileName[1];
+-} OPEN_REQ;
++} __attribute__((packed)) OPEN_REQ;
+
+ /* open response: oplock levels */
+ #define OPLOCK_NONE  	 0
+@@ -667,7 +674,7 @@
+ 	__le16 DeviceState;
+ 	__u8 DirectoryFlag;
+ 	__u16 ByteCount;	/* bct = 0 */
+-} OPEN_RSP;
++} __attribute__((packed)) OPEN_RSP;
+
+ typedef struct smb_com_write_req {
+ 	struct smb_hdr hdr;	/* wct = 14 */
+@@ -686,7 +693,7 @@
+ 	__le16 ByteCount;
+ 	__u8 Pad;		/* BB check for whether padded to DWORD boundary and optimum performance here */
+ 	char Data[0];
+-} WRITE_REQ;
++} __attribute__((packed)) WRITE_REQ;
+
+ typedef struct smb_com_write_rsp {
+ 	struct smb_hdr hdr;	/* wct = 6 */
+@@ -698,7 +705,7 @@
+ 	__le16 CountHigh;
+ 	__u16  Reserved;
+ 	__u16 ByteCount;
+-} WRITE_RSP;
++} __attribute__((packed)) WRITE_RSP;
+
+ typedef struct smb_com_read_req {
+ 	struct smb_hdr hdr;	/* wct = 12 */
+@@ -713,7 +720,7 @@
+ 	__le16 Remaining;
+ 	__le32 OffsetHigh;
+ 	__le16 ByteCount;
+-} READ_REQ;
++} __attribute__((packed)) READ_REQ;
+
+ typedef struct smb_com_read_rsp {
+ 	struct smb_hdr hdr;	/* wct = 12 */
+@@ -730,7 +737,7 @@
+ 	__u16 ByteCount;
+ 	__u8 Pad;		/* BB check for whether padded to DWORD boundary and optimum performance here */
+ 	char Data[1];
+-} READ_RSP;
++} __attribute__((packed)) READ_RSP;
+
+ typedef struct locking_andx_range {
+ 	__le16 Pid;
+@@ -739,7 +746,7 @@
+ 	__le32 OffsetLow;
+ 	__le32 LengthHigh;
+ 	__le32 LengthLow;
+-} LOCKING_ANDX_RANGE;
++} __attribute__((packed)) LOCKING_ANDX_RANGE;
+
+ #define LOCKING_ANDX_SHARED_LOCK     0x01
+ #define LOCKING_ANDX_OPLOCK_RELEASE  0x02
+@@ -760,7 +767,7 @@
+ 	__le16 NumberOfLocks;
+ 	__le16 ByteCount;
+ 	LOCKING_ANDX_RANGE Locks[1];
+-} LOCK_REQ;
++} __attribute__((packed)) LOCK_REQ;
+
+
+ typedef struct cifs_posix_lock {
+@@ -770,7 +777,7 @@
+ 	__le64	start;
+ 	__le64	length;
+ 	/* BB what about additional owner info to identify network client */
+-} CIFS_POSIX_LOCK;
++} __attribute__((packed)) CIFS_POSIX_LOCK;
+
+ typedef struct smb_com_lock_rsp {
+ 	struct smb_hdr hdr;	/* wct = 2 */
+@@ -778,7 +785,7 @@
+ 	__u8 AndXReserved;
+ 	__le16 AndXOffset;
+ 	__u16 ByteCount;
+-} LOCK_RSP;
++} __attribute__((packed)) LOCK_RSP;
+
+ typedef struct smb_com_rename_req {
+ 	struct smb_hdr hdr;	/* wct = 1 */
+@@ -788,7 +795,7 @@
+ 	unsigned char OldFileName[1];
+ 	/* followed by __u8 BufferFormat2 */
+ 	/* followed by NewFileName */
+-} RENAME_REQ;
++} __attribute__((packed)) RENAME_REQ;
+
+ 	/* copy request flags */
+ #define COPY_MUST_BE_FILE      0x0001
+@@ -808,7 +815,7 @@
+ 	unsigned char OldFileName[1];
+ 	/* followed by __u8 BufferFormat2 */
+ 	/* followed by NewFileName string */
+-} COPY_REQ;
++} __attribute__((packed)) COPY_REQ;
+
+ typedef struct smb_com_copy_rsp {
+ 	struct smb_hdr hdr;     /* wct = 1 */
+@@ -816,7 +823,7 @@
+ 	__u16 ByteCount;    /* may be zero */
+ 	__u8 BufferFormat;  /* 0x04 - only present if errored file follows */
+ 	unsigned char ErrorFileName[1]; /* only present if error in copy */
+-} COPY_RSP;
++} __attribute__((packed)) COPY_RSP;
+
+ #define CREATE_HARD_LINK		0x103
+ #define MOVEFILE_COPY_ALLOWED		0x0002
+@@ -832,12 +839,12 @@
+ 	unsigned char OldFileName[1];
+ 	/* followed by __u8 BufferFormat2 */
+ 	/* followed by NewFileName */
+-} NT_RENAME_REQ;
++} __attribute__((packed)) NT_RENAME_REQ;
+
+ typedef struct smb_com_rename_rsp {
+ 	struct smb_hdr hdr;	/* wct = 0 */
+ 	__u16 ByteCount;	/* bct = 0 */
+-} RENAME_RSP;
++} __attribute__((packed)) RENAME_RSP;
+
+ typedef struct smb_com_delete_file_req {
+ 	struct smb_hdr hdr;	/* wct = 1 */
+@@ -885,12 +892,12 @@
+ 	__u16  ByteCount;
+ 	__u8   BufferFormat; /* 4 = ASCII */
+ 	unsigned char fileName[1];
+-} SETATTR_REQ;
++} __attribute__((packed)) SETATTR_REQ;
+
+ typedef struct smb_com_setattr_rsp {
+ 	struct smb_hdr hdr;     /* wct = 0 */
+ 	__u16 ByteCount;        /* bct = 0 */
+-} SETATTR_RSP;
++} __attribute__((packed)) SETATTR_RSP;
+
+ /* empty wct response to setattr */
+
+@@ -920,7 +927,7 @@
+ 	__le16 ByteCount;
+ 	__u8 Pad[3];
+ 	__u8 Data[1];
+-} TRANSACT_IOCTL_REQ;
++} __attribute__((packed)) TRANSACT_IOCTL_REQ;
+
+ typedef struct smb_com_transaction_ioctl_rsp {
+ 	struct smb_hdr hdr;	/* wct = 19 */
+@@ -937,7 +944,7 @@
+ 	__le16 ReturnedDataLen;
+ 	__u16 ByteCount;
+ 	__u8 Pad[3];
+-} TRANSACT_IOCTL_RSP;
++} __attribute__((packed)) TRANSACT_IOCTL_RSP;
+
+ typedef struct smb_com_transaction_change_notify_req {
+ 	struct smb_hdr hdr;     /* wct = 23 */
+@@ -961,7 +968,7 @@
+ 	__le16 ByteCount;
+ /* __u8 Pad[3];*/
+ /*	__u8 Data[1];*/
+-} TRANSACT_CHANGE_NOTIFY_REQ;
++} __attribute__((packed)) TRANSACT_CHANGE_NOTIFY_REQ;
+
+ typedef struct smb_com_transaction_change_notify_rsp {
+ 	struct smb_hdr hdr;	/* wct = 18 */
+@@ -977,7 +984,7 @@
+ 	__u8 SetupCount;   /* 0 */
+ 	__u16 ByteCount;
+ 	/* __u8 Pad[3]; */
+-} TRANSACT_CHANGE_NOTIFY_RSP;
++} __attribute__((packed)) TRANSACT_CHANGE_NOTIFY_RSP;
+ /* Completion Filter flags for Notify */
+ #define FILE_NOTIFY_CHANGE_FILE_NAME    0x00000001
+ #define FILE_NOTIFY_CHANGE_DIR_NAME     0x00000002
+@@ -1008,7 +1015,7 @@
+ 	__le32 Action;
+ 	__le32 FileNameLength;
+ 	__u8  FileName[0];
+-};
++} __attribute__((packed));
+
+ struct reparse_data {
+ 	__u32	ReparseTag;
+@@ -1019,7 +1026,7 @@
+ 	__u16	TargetNameOffset;
+ 	__u16	TargetNameLen;
+ 	char	LinkNamesBuf[1];
+-};
++} __attribute__((packed));
+
+ struct cifs_quota_data {
+ 	__u32	rsrvd1;  /* 0 */
+@@ -1029,7 +1036,7 @@
+ 	__u64	soft_limit;
+ 	__u64	hard_limit;
+ 	char	sid[1];  /* variable size? */
+-};
++} __attribute__((packed));
+
+ /* quota sub commands */
+ #define QUOTA_LIST_CONTINUE	    0
+@@ -1055,12 +1062,12 @@
+ 	__u8 Reserved3;
+ 	__le16 SubCommand; /* 1st setup word - SetupCount words follow */
+ 	__le16 ByteCount;
+-};
++} __attribute__((packed));
+
+ struct smb_t2_req {
+ 	struct smb_hdr hdr;
+ 	struct trans2_req t2_req;
+-};
++} __attribute__((packed));
+
+ struct trans2_resp {
+ 	/* struct smb_hdr hdr precedes. Note wct = 10 + setup count */
+@@ -1079,12 +1086,12 @@
+ 	__u16 ByteCount;
+ 	__u16 Reserved2;*/
+ 	/* data area follows */
+-};
++} __attribute__((packed));
+
+ struct smb_t2_rsp {
+ 	struct smb_hdr hdr;
+ 	struct trans2_resp t2_rsp;
+-};
++} __attribute__((packed));
+
+ /* PathInfo/FileInfo infolevels */
+ #define SMB_INFO_STANDARD                   1
+@@ -1171,14 +1178,14 @@
+ 	__le16 InformationLevel;
+ 	__u32 Reserved4;
+ 	char FileName[1];
+-} TRANSACTION2_QPI_REQ;
++} __attribute__((packed)) TRANSACTION2_QPI_REQ;
+
+ typedef struct smb_com_transaction2_qpi_rsp {
+ 	struct smb_hdr hdr;	/* wct = 10 + SetupCount */
+ 	struct trans2_resp t2;
+ 	__u16 ByteCount;
+ 	__u16 Reserved2;	/* parameter word reserved - present for infolevels > 100 */
+-} TRANSACTION2_QPI_RSP;
++} __attribute__((packed)) TRANSACTION2_QPI_RSP;
+
+ typedef struct smb_com_transaction2_spi_req {
+ 	struct smb_hdr hdr;	/* wct = 15 */
+@@ -1204,21 +1211,21 @@
+ 	__le16 InformationLevel;
+ 	__u32 Reserved4;
+ 	char FileName[1];
+-} TRANSACTION2_SPI_REQ;
++} __attribute__((packed)) TRANSACTION2_SPI_REQ;
+
+ typedef struct smb_com_transaction2_spi_rsp {
+ 	struct smb_hdr hdr;	/* wct = 10 + SetupCount */
+ 	struct trans2_resp t2;
+ 	__u16 ByteCount;
+ 	__u16 Reserved2;	/* parameter word reserved - present for infolevels > 100 */
+-} TRANSACTION2_SPI_RSP;
++} __attribute__((packed)) TRANSACTION2_SPI_RSP;
+
+ struct set_file_rename {
+ 	__le32 overwrite;   /* 1 = overwrite dest */
+ 	__u32 root_fid;   /* zero */
+ 	__le32 target_name_len;
+ 	char  target_name[0];  /* Must be unicode */
+-};
++} __attribute__((packed));
+
+ struct smb_com_transaction2_sfi_req {
+ 	struct smb_hdr hdr;	/* wct = 15 */
+@@ -1244,7 +1251,7 @@
+ 	__u16 Fid;
+ 	__le16 InformationLevel;
+ 	__u16 Reserved4;
+-};
++} __attribute__((packed));
+
+ struct smb_com_transaction2_sfi_rsp {
+ 	struct smb_hdr hdr;	/* wct = 10 + SetupCount */
+@@ -1252,7 +1259,7 @@
+ 	__u16 ByteCount;
+ 	__u16 Reserved2;	/* parameter word reserved -
+ 					present for infolevels > 100 */
+-};
++} __attribute__((packed));
+
+ struct smb_t2_qfi_req {
+         struct	smb_hdr hdr;
+@@ -1260,7 +1267,7 @@
+ 	__u8	Pad;
+ 	__u16	Fid;
+ 	__le16	InformationLevel;
+-};
++} __attribute__((packed));
+
+ struct smb_t2_qfi_rsp {
+         struct smb_hdr hdr;     /* wct = 10 + SetupCount */
+@@ -1268,7 +1275,7 @@
+         __u16 ByteCount;
+         __u16 Reserved2;        /* parameter word reserved -
+ 					present for infolevels > 100 */
+-};
++} __attribute__((packed));
+
+ /*
+  * Flags on T2 FINDFIRST and FINDNEXT
+@@ -1310,13 +1317,13 @@
+ 	__le16 InformationLevel;
+ 	__le32 SearchStorageType;
+ 	char FileName[1];
+-} TRANSACTION2_FFIRST_REQ;
++} __attribute__((packed)) TRANSACTION2_FFIRST_REQ;
+
+ typedef struct smb_com_transaction2_ffirst_rsp {
+ 	struct smb_hdr hdr;	/* wct = 10 */
+ 	struct trans2_resp t2;
+ 	__u16 ByteCount;
+-} TRANSACTION2_FFIRST_RSP;
++} __attribute__((packed)) TRANSACTION2_FFIRST_RSP;
+
+ typedef struct smb_com_transaction2_ffirst_rsp_parms {
+ 	__u16 SearchHandle;
+@@ -1324,7 +1331,7 @@
+ 	__le16 EndofSearch;
+ 	__le16 EAErrorOffset;
+ 	__le16 LastNameOffset;
+-} T2_FFIRST_RSP_PARMS;
++} __attribute__((packed)) T2_FFIRST_RSP_PARMS;
+
+ typedef struct smb_com_transaction2_fnext_req {
+ 	struct smb_hdr hdr;	/* wct = 15 */
+@@ -1352,20 +1359,20 @@
+ 	__u32 ResumeKey;
+ 	__le16 SearchFlags;
+ 	char ResumeFileName[1];
+-} TRANSACTION2_FNEXT_REQ;
++} __attribute__((packed)) TRANSACTION2_FNEXT_REQ;
+
+ typedef struct smb_com_transaction2_fnext_rsp {
+ 	struct smb_hdr hdr;	/* wct = 10 */
+ 	struct trans2_resp t2;
+ 	__u16 ByteCount;
+-} TRANSACTION2_FNEXT_RSP;
++} __attribute__((packed)) TRANSACTION2_FNEXT_RSP;
+
+ typedef struct smb_com_transaction2_fnext_rsp_parms {
+ 	__le16 SearchCount;
+ 	__le16 EndofSearch;
+ 	__le16 EAErrorOffset;
+ 	__le16 LastNameOffset;
+-} T2_FNEXT_RSP_PARMS;
++} __attribute__((packed)) T2_FNEXT_RSP_PARMS;
+
+ /* QFSInfo Levels */
+ #define SMB_INFO_ALLOCATION         1
+@@ -1402,14 +1409,14 @@
+ 	__le16 ByteCount;
+ 	__u8 Pad;
+ 	__le16 InformationLevel;
+-} TRANSACTION2_QFSI_REQ;
++} __attribute__((packed)) TRANSACTION2_QFSI_REQ;
+
+ typedef struct smb_com_transaction_qfsi_rsp {
+ 	struct smb_hdr hdr;	/* wct = 10 + SetupCount */
+ 	struct trans2_resp t2;
+ 	__u16 ByteCount;
+ 	__u8 Pad;		/* may be three bytes *//* followed by data area */
+-} TRANSACTION2_QFSI_RSP;
++} __attribute__((packed)) TRANSACTION2_QFSI_RSP;
+
+ typedef struct smb_com_transaction2_get_dfs_refer_req {
+ 	struct smb_hdr hdr;	/* wct = 15 */
+@@ -1433,7 +1440,7 @@
+ 	__u8 Pad[3];		/* Win2K has sent 0x0F01 (max resp length perhaps?) followed by one byte pad - doesn't seem to matter though */
+ 	__le16 MaxReferralLevel;
+ 	char RequestFileName[1];
+-} TRANSACTION2_GET_DFS_REFER_REQ;
++} __attribute__((packed)) TRANSACTION2_GET_DFS_REFER_REQ;
+
+ typedef struct dfs_referral_level_3 {
+ 	__le16 VersionNumber;
+@@ -1445,7 +1452,7 @@
+ 	__le16 DfsPathOffset;
+ 	__le16 DfsAlternatePathOffset;
+ 	__le16 NetworkAddressOffset;
+-} REFERRAL3;
++} __attribute__((packed)) REFERRAL3;
+
+ typedef struct smb_com_transaction_get_dfs_refer_rsp {
+ 	struct smb_hdr hdr;	/* wct = 10 */
+@@ -1458,7 +1465,7 @@
+ 	__u16 Pad2;
+ 	REFERRAL3 referrals[1];	/* array of level 3 dfs_referral structures */
+ 	/* followed by the strings pointed to by the referral structures */
+-} TRANSACTION2_GET_DFS_REFER_RSP;
++} __attribute__((packed)) TRANSACTION2_GET_DFS_REFER_RSP;
+
+ /* DFS Flags */
+ #define DFSREF_REFERRAL_SERVER  0x0001
+@@ -1512,7 +1519,7 @@
+ 	unsigned char versionMinor;
+ 	unsigned long type;
+ 	unsigned int commentOffset;
+-};
++} __attribute__((packed));
+
+ /*
+  * The following structure is the format of the data returned on a NetShareEnum
+@@ -1524,27 +1531,27 @@
+ 	char pad;
+ 	unsigned short type;
+ 	unsigned int commentOffset;
+-};
++} __attribute__((packed));
+
+ struct aliasInfo {
+ 	char aliasName[9];
+ 	char pad;
+ 	unsigned int commentOffset;
+ 	unsigned char type[2];
+-};
++} __attribute__((packed));
+
+ struct aliasInfo92 {
+ 	int aliasNameOffset;
+ 	int serverNameOffset;
+ 	int shareNameOffset;
+-};
++} __attribute__((packed));
+
+ typedef struct {
+ 	__le64 TotalAllocationUnits;
+ 	__le64 FreeAllocationUnits;
+ 	__le32 SectorsPerAllocationUnit;
+ 	__le32 BytesPerSector;
+-} FILE_SYSTEM_INFO;		/* size info, level 0x103 */
++} __attribute__((packed)) FILE_SYSTEM_INFO;		/* size info, level 0x103 */
+
+ typedef struct {
+ 	__le16 MajorVersionNumber;
+@@ -1577,7 +1584,7 @@
+ 	__le64 FileSysIdentifier;   /* fsid */
+ 	/* NB Namelen comes from FILE_SYSTEM_ATTRIBUTE_INFO call */
+ 	/* NB flags can come from FILE_SYSTEM_DEVICE_INFO call   */
+-} FILE_SYSTEM_POSIX_INFO;
++} __attribute__((packed)) FILE_SYSTEM_POSIX_INFO;
+
+ /* DeviceType Flags */
+ #define FILE_DEVICE_CD_ROM              0x00000002
+@@ -1602,14 +1609,14 @@
+ typedef struct {
+ 	__le32 DeviceType;
+ 	__le32 DeviceCharacteristics;
+-} FILE_SYSTEM_DEVICE_INFO;	/* device info, level 0x104 */
++} __attribute__((packed)) FILE_SYSTEM_DEVICE_INFO;	/* device info, level 0x104 */
+
+ typedef struct {
+ 	__le32 Attributes;
+ 	__le32 MaxPathNameComponentLength;
+ 	__le32 FileSystemNameLen;
+ 	char FileSystemName[52]; /* do not really need to save this - so potentially get only subset of name */
+-} FILE_SYSTEM_ATTRIBUTE_INFO;
++} __attribute__((packed)) FILE_SYSTEM_ATTRIBUTE_INFO;
+
+ /******************************************************************************/
+ /* QueryFileInfo/QueryPathinfo (also for SetPath/SetFile) data buffer formats */
+@@ -1636,7 +1643,7 @@
+ 	__le32 AlignmentRequirement;
+ 	__le32 FileNameLength;
+ 	char FileName[1];
+-} FILE_ALL_INFO;		/* level 0x107 QPathInfo */
++} __attribute__((packed)) FILE_ALL_INFO;		/* level 0x107 QPathInfo */
+
+ /* defines for enumerating possible values of the Unix type field below */
+ #define UNIX_FILE      0
+@@ -1660,11 +1667,11 @@
+ 	__u64 UniqueId;
+ 	__le64 Permissions;
+ 	__le64 Nlinks;
+-} FILE_UNIX_BASIC_INFO;		/* level 0x200 QPathInfo */
++} __attribute__((packed)) FILE_UNIX_BASIC_INFO;		/* level 0x200 QPathInfo */
+
+ typedef struct {
+ 	char LinkDest[1];
+-} FILE_UNIX_LINK_INFO;		/* level 0x201 QPathInfo */
++} __attribute__((packed)) FILE_UNIX_LINK_INFO;		/* level 0x201 QPathInfo */
+
+ /* The following three structures are needed only for
+ 	setting time to NT4 and some older servers via
+@@ -1673,13 +1680,13 @@
+ 	__u16 Day:5;
+ 	__u16 Month:4;
+ 	__u16 Year:7;
+-} SMB_DATE;
++} __attribute__((packed)) SMB_DATE;
+
+ typedef struct {
+ 	__u16 TwoSeconds:5;
+ 	__u16 Minutes:6;
+ 	__u16 Hours:5;
+-} SMB_TIME;
++} __attribute__((packed)) SMB_TIME;
+
+ typedef struct {
+ 	__le16 CreationDate; /* SMB Date see above */
+@@ -1692,7 +1699,7 @@
+ 	__le32 AllocationSize;
+ 	__le16 Attributes; /* verify not u32 */
+ 	__le32 EASize;
+-} FILE_INFO_STANDARD;  /* level 1 SetPath/FileInfo */
++} __attribute__((packed)) FILE_INFO_STANDARD;  /* level 1 SetPath/FileInfo */
+
+ typedef struct {
+ 	__le64 CreationTime;
+@@ -1701,19 +1708,19 @@
+ 	__le64 ChangeTime;
+ 	__le32 Attributes;
+ 	__u32 Pad;
+-} FILE_BASIC_INFO;		/* size info, level 0x101 */
++} __attribute__((packed)) FILE_BASIC_INFO;		/* size info, level 0x101 */
+
+ struct file_allocation_info {
+ 	__le64 AllocationSize; /* Note old Samba srvr rounds this up too much */
+-};	/* size used on disk, level 0x103 for set, 0x105 for query */
++} __attribute__((packed));	/* size used on disk, level 0x103 for set, 0x105 for query */
+
+ struct file_end_of_file_info {
+ 	__le64 FileSize;		/* offset to end of file */
+-};	/* size info, level 0x104 for set, 0x106 for query */
++} __attribute__((packed));	/* size info, level 0x104 for set, 0x106 for query */
+
+ struct file_alt_name_info {
+ 	__u8   alt_name[1];
+-};      /* level 0x0108 */
++} __attribute__((packed));      /* level 0x0108 */
+
+ struct file_stream_info {
+ 	__le32 number_of_streams;  /* BB check sizes and verify location */
+@@ -1730,7 +1737,7 @@
+ 	__u8   ch_shift;
+ 	__u8   cl_shift;
+ 	__u8   pad[3];
+-};      /* level 0x10b */
++} __attribute__((packed));      /* level 0x10b */
+
+ /* POSIX ACL set/query path info structures */
+ #define CIFS_ACL_VERSION 1
+@@ -1738,7 +1745,7 @@
+ 	__u8  cifs_e_tag;
+ 	__u8  cifs_e_perm;
+ 	__le64 cifs_uid; /* or gid */
+-};
++} __attribute__((packed));
+
+ struct cifs_posix_acl { /* access conrol list  (ACL) */
+ 	__le16	version;
+@@ -1747,7 +1754,7 @@
+ 	struct cifs_posix_ace ace_array[0];
+ 	/* followed by
+ 	struct cifs_posix_ace default_ace_arraay[] */
+-};  /* level 0x204 */
++} __attribute__((packed));  /* level 0x204 */
+
+ /* types of access control entries already defined in posix_acl.h */
+ /* #define CIFS_POSIX_ACL_USER_OBJ	 0x01
+@@ -1766,15 +1773,15 @@
+
+ struct file_internal_info {
+ 	__u64  UniqueId; /* inode number */
+-};      /* level 0x3ee */
++} __attribute__((packed));      /* level 0x3ee */
+ struct file_mode_info {
+ 	__le32	Mode;
+-};      /* level 0x3f8 */
++} __attribute__((packed));      /* level 0x3f8 */
+
+ struct file_attrib_tag {
+ 	__le32 Attribute;
+ 	__le32 ReparseTag;
+-};      /* level 0x40b */
++} __attribute__((packed));      /* level 0x40b */
+
+
+ /********************************************************/
+@@ -1798,7 +1805,7 @@
+ 	__le64 Permissions;
+ 	__le64 Nlinks;
+ 	char FileName[1];
+-} FILE_UNIX_INFO; /* level 0x202 */
++} __attribute__((packed)) FILE_UNIX_INFO; /* level 0x202 */
+
+ typedef struct {
+ 	__le32 NextEntryOffset;
+@@ -1812,7 +1819,7 @@
+ 	__le32 ExtFileAttributes;
+ 	__le32 FileNameLength;
+ 	char FileName[1];
+-} FILE_DIRECTORY_INFO;   /* level 0x101 FF response data area */
++} __attribute__((packed)) FILE_DIRECTORY_INFO;   /* level 0x101 FF response data area */
+
+ typedef struct {
+ 	__le32 NextEntryOffset;
+@@ -1827,7 +1834,7 @@
+ 	__le32 FileNameLength;
+ 	__le32 EaSize; /* length of the xattrs */
+ 	char FileName[1];
+-} FILE_FULL_DIRECTORY_INFO;   /* level 0x102 FF response data area */
++} __attribute__((packed)) FILE_FULL_DIRECTORY_INFO;   /* level 0x102 FF response data area */
+
+ typedef struct {
+ 	__le32 NextEntryOffset;
+@@ -1844,7 +1851,7 @@
+ 	__le32 Reserved;
+ 	__u64 UniqueId; /* inode num - le since Samba puts ino in low 32 bit*/
+ 	char FileName[1];
+-} SEARCH_ID_FULL_DIR_INFO;   /* level 0x105 FF response data area */
++} __attribute__((packed)) SEARCH_ID_FULL_DIR_INFO;   /* level 0x105 FF response data area */
+
+ typedef struct {
+ 	__le32 NextEntryOffset;
+@@ -1862,18 +1869,18 @@
+ 	__u8   Reserved;
+ 	__u8   ShortName[12];
+ 	char FileName[1];
+-} FILE_BOTH_DIRECTORY_INFO;   /* level 0x104 FF response data area */
++} __attribute__((packed)) FILE_BOTH_DIRECTORY_INFO;   /* level 0x104 FF response data area */
+
+
+ struct gea {
+ 	unsigned char name_len;
+ 	char name[1];
+-};
++} __attribute__((packed));
+
+ struct gealist {
+ 	unsigned long list_len;
+ 	struct gea list[1];
+-};
++} __attribute__((packed));
+
+ struct fea {
+ 	unsigned char EA_flags;
+@@ -1881,21 +1888,21 @@
+ 	__le16 value_len;
+ 	char name[1];
+ 	/* optionally followed by value */
+-};
++} __attribute__((packed));
+ /* flags for _FEA.fEA */
+ #define FEA_NEEDEA         0x80	/* need EA bit */
+
+ struct fealist {
+ 	__le32 list_len;
+ 	struct fea list[1];
+-};
++} __attribute__((packed));
+
+ /* used to hold an arbitrary blob of data */
+ struct data_blob {
+ 	__u8 *data;
+ 	size_t length;
+ 	void (*free) (struct data_blob * data_blob);
+-};
++} __attribute__((packed));
+
+
+ #ifdef CONFIG_CIFS_POSIX
+@@ -1999,7 +2006,7 @@
+ 	char cr2;        /* \n */
+ /* if room left, then end with \n then 0x20s by convention but not required */
+ 	char path[1024];
+-};
++} __attribute__((packed));
+
+ typedef struct file_xattr_info {
+ 	/* BB do we need another field for flags? BB */
+@@ -2007,7 +2014,7 @@
+ 	__u32 xattr_value_len;
+ 	char  xattr_name[0];
+ 	/* followed by xattr_value[xattr_value_len], no pad */
+-} FILE_XATTR_INFO;	/* extended attribute, info level 0x205 */
++} __attribute__((packed)) FILE_XATTR_INFO;	/* extended attribute, info level 0x205 */
+
+
+ /* flags for chattr command */
+@@ -2033,10 +2040,8 @@
+ typedef struct file_chattr_info {
+ 	__le64	mask; /* list of all possible attribute bits */
+ 	__le64	mode; /* list of actual attribute bits on this inode */
+-} FILE_CHATTR_INFO;  /* ext attributes (chattr, chflags) level 0x206 */
++} __attribute__((packed)) FILE_CHATTR_INFO;  /* ext attributes (chattr, chflags) level 0x206 */
+
+ #endif
+
+-#pragma pack()			/* resume default structure packing */
+-
+ #endif				/* _CIFSPDU_H */
+diff -uNr kernel-build-old/su-18-kernel-2.6.12.3/kernel-source-2.6.12.3/fs/cifs/ntlmssp.h kernel-build/su-18-kernel-2.6.12.3/kernel-source-2.6.12.3/fs/cifs/ntlmssp.h
+--- kernel-build-old/su-18-kernel-2.6.12.3/kernel-source-2.6.12.3/fs/cifs/ntlmssp.h	2005-12-13 12:49:30.000000000 +0000
++++ kernel-build/su-18-kernel-2.6.12.3/kernel-source-2.6.12.3/fs/cifs/ntlmssp.h	2006-04-29 16:33:34.000000000 +0100
+@@ -19,8 +19,6 @@
+  *   Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+  */
+
+-#pragma pack(1)
+-
+ #define NTLMSSP_SIGNATURE "NTLMSSP"
+ /* Message Types */
+ #define NtLmNegotiate     cpu_to_le32(1)
+@@ -63,7 +61,7 @@
+ 	__le16 Length;
+ 	__le16 MaximumLength;
+ 	__le32 Buffer;		/* offset to buffer */
+-} SECURITY_BUFFER;
++} __attribute__((packed)) SECURITY_BUFFER;
+
+ typedef struct _NEGOTIATE_MESSAGE {
+ 	__u8 Signature[sizeof (NTLMSSP_SIGNATURE)];
+@@ -73,7 +71,7 @@
+ 	SECURITY_BUFFER WorkstationName;	/* RFC 1001 and ASCII */
+ 	char DomainString[0];
+ 	/* followed by WorkstationString */
+-} NEGOTIATE_MESSAGE, *PNEGOTIATE_MESSAGE;
++} __attribute__((packed)) NEGOTIATE_MESSAGE, *PNEGOTIATE_MESSAGE;
+
+ typedef struct _CHALLENGE_MESSAGE {
+ 	__u8 Signature[sizeof (NTLMSSP_SIGNATURE)];
+@@ -83,7 +81,7 @@
+ 	__u8 Challenge[CIFS_CRYPTO_KEY_SIZE];
+ 	__u8 Reserved[8];
+ 	SECURITY_BUFFER TargetInfoArray;
+-} CHALLENGE_MESSAGE, *PCHALLENGE_MESSAGE;
++} __attribute__((packed)) CHALLENGE_MESSAGE, *PCHALLENGE_MESSAGE;
+
+ typedef struct _AUTHENTICATE_MESSAGE {
+ 	__u8 Signature[sizeof (NTLMSSP_SIGNATURE)];
+@@ -96,6 +94,4 @@
+ 	SECURITY_BUFFER SessionKey;
+ 	__le32 NegotiateFlags;
+ 	char UserString[0];
+-} AUTHENTICATE_MESSAGE, *PAUTHENTICATE_MESSAGE;
+-
+-#pragma pack()			/* resume default structure packing */
++} __attribute__((packed)) AUTHENTICATE_MESSAGE, *PAUTHENTICATE_MESSAGE;
+diff -uNr kernel-build-old/su-18-kernel-2.6.12.3/kernel-source-2.6.12.3/fs/cifs/rfc1002pdu.h kernel-build/su-18-kernel-2.6.12.3/kernel-source-2.6.12.3/fs/cifs/rfc1002pdu.h
+--- kernel-build-old/su-18-kernel-2.6.12.3/kernel-source-2.6.12.3/fs/cifs/rfc1002pdu.h	2005-12-13 12:49:30.000000000 +0000
++++ kernel-build/su-18-kernel-2.6.12.3/kernel-source-2.6.12.3/fs/cifs/rfc1002pdu.h	2006-04-29 16:33:34.000000000 +0100
+@@ -21,8 +21,6 @@
+  *   Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+  */
+
+-#pragma pack(1)
+-
+ /* NB: unlike smb/cifs packets, the RFC1002 structures are big endian */
+
+ 	/* RFC 1002 session packet types */
+@@ -48,17 +46,17 @@
+ 			__u8 calling_len;
+ 			__u8 calling_name[32];
+ 			__u8 scope2; /* null */
+-		} session_req;
++		} __attribute__((packed)) session_req;
+ 		struct {
+ 			__u32 retarget_ip_addr;
+ 			__u16 port;
+-		} retarget_resp;
++		} __attribute__((packed)) retarget_resp;
+ 		__u8 neg_ses_resp_error_code;
+ 		/* POSITIVE_SESSION_RESPONSE packet does not include trailer.
+ 		SESSION_KEEP_ALIVE packet also does not include a trailer.
+ 		Trailer for the SESSION_MESSAGE packet is SMB/CIFS header */
+-	} trailer;
+-};
++	} __attribute__((packed)) trailer;
++} __attribute__((packed));
+
+ /* Negative Session Response error codes */
+ #define RFC1002_NOT_LISTENING_CALLED  0x80 /* not listening on called name */
+@@ -74,6 +72,3 @@
+ (tcp name) or ip address or an /etc/hosts equivalent mapping to ip address.*/
+
+ #define DEFAULT_CIFS_CALLED_NAME  "*SMBSERVER      "
+-
+-#pragma pack()		/* resume default structure packing */
+-
Binary files kernel-build-old/su-18-kernel-cifs_2.6.12.3-200550osso1_cifs2_arm.deb and kernel-build/su-18-kernel-cifs_2.6.12.3-200550osso1_cifs2_arm.deb differ
Binary files kernel-build-old/su-18-kernel-headers_2.6.12.3-200550osso1_cifs2_all.deb and kernel-build/su-18-kernel-headers_2.6.12.3-200550osso1_cifs2_all.deb differ
diff -uNr kernel-build-old/su-18-kernel_2.6.12.3-200550osso1_cifs1.dsc kernel-build/su-18-kernel_2.6.12.3-200550osso1_cifs1.dsc
--- kernel-build-old/su-18-kernel_2.6.12.3-200550osso1_cifs1.dsc	1970-01-01 01:00:00.000000000 +0100
+++ kernel-build/su-18-kernel_2.6.12.3-200550osso1_cifs1.dsc	2006-04-30 23:33:43.000000000 +0100
@@ -0,0 +1,11 @@
+Format: 1.0
+Source: su-18-kernel
+Version: 2.6.12.3-200550osso1_cifs1
+Binary: su-18-kernel, su-18-kernel-headers, su-18-kernel-cifs
+Maintainer: Ed Bartosh <eduard.bartosh@nokia.com>
+Architecture: any
+Standards-Version: 3.5.9.0
+Build-Depends: debhelper, kernel-source-2.6.12.3 (=2.6.12.3-osso22)
+scratchbox-architecture: uarm
+Files:
+ 8cb24e2a4345c1c8ab893b44eda3854f 26948 su-18-kernel_2.6.12.3-200550osso1_cifs1.tar.gz
Binary files kernel-build-old/su-18-kernel_2.6.12.3-200550osso1_cifs1.tar.gz and kernel-build/su-18-kernel_2.6.12.3-200550osso1_cifs1.tar.gz differ
diff -uNr kernel-build-old/su-18-kernel_2.6.12.3-200550osso1_cifs1_source.changes kernel-build/su-18-kernel_2.6.12.3-200550osso1_cifs1_source.changes
--- kernel-build-old/su-18-kernel_2.6.12.3-200550osso1_cifs1_source.changes	1970-01-01 01:00:00.000000000 +0100
+++ kernel-build/su-18-kernel_2.6.12.3-200550osso1_cifs1_source.changes	2006-04-30 23:28:10.000000000 +0100
@@ -0,0 +1,29 @@
+Format: 1.7
+Date: Wed, 26 Apr 2006 18:52:12 +0100
+Source: su-18-kernel
+Binary: su-18-kernel-cifs su-18-kernel-headers su-18-kernel
+Architecture: source
+Version: 2.6.12.3-200550osso1_cifs1
+Distribution: unstable
+Urgency: low
+Maintainer: Ed Bartosh <eduard.bartosh@nokia.com>
+Changed-By: David Connolly <david@connolly.name>
+Description:
+ su-18-kernel - Flashable Linux kernel for SU-18 hardware
+ su-18-kernel-cifs - CIFS Module for SU-18 hardware.
+ su-18-kernel-headers - Linux kernel headers
+Changes:
+ su-18-kernel (2.6.12.3-200550osso1_cifs1) unstable; urgency=low
+ .
+   * Slightly modified to build cifs.ko as a binary package.
+   * CIFS patched for arm with a patch from git:
+     commit id 0753ca7bc2b876dd136e9db11a20f85cbe4e08b1
+ .
+     [CIFS] Change pragma pack(1) to attribute(packed) to allow cifs on arm to access
+            unaligned structures coming in off the wire
+ .
+            by Steve French <sfrench@us.ibm.com>
+Files:
+ 573a67d3a32b4bfc90d78d54cdaba944 419 utils optional su-18-kernel_2.6.12.3-200550osso1_cifs1.dsc
+ 51ad3cae7c742374c4f1ff87384a958b 26929 utils optional su-18-kernel_2.6.12.3-200550osso1_cifs1.tar.gz
+scratchbox-architecture: uarm
diff -uNr kernel-build-old/su-18-kernel_2.6.12.3-200550osso1_cifs2.dsc kernel-build/su-18-kernel_2.6.12.3-200550osso1_cifs2.dsc
--- kernel-build-old/su-18-kernel_2.6.12.3-200550osso1_cifs2.dsc	1970-01-01 01:00:00.000000000 +0100
+++ kernel-build/su-18-kernel_2.6.12.3-200550osso1_cifs2.dsc	2006-05-01 14:49:16.000000000 +0100
@@ -0,0 +1,11 @@
+Format: 1.0
+Source: su-18-kernel
+Version: 2.6.12.3-200550osso1_cifs2
+Binary: su-18-kernel, su-18-kernel-headers, su-18-kernel-cifs
+Maintainer: Ed Bartosh <eduard.bartosh@nokia.com>
+Architecture: any
+Standards-Version: 3.5.9.0
+Build-Depends: debhelper, kernel-source-2.6.12.3 (=2.6.12.3-osso22)
+scratchbox-architecture: uarm
+Files:
+ 8b7857858805f71f152f872f67484954 26992 su-18-kernel_2.6.12.3-200550osso1_cifs2.tar.gz
Binary files kernel-build-old/su-18-kernel_2.6.12.3-200550osso1_cifs2.tar.gz and kernel-build/su-18-kernel_2.6.12.3-200550osso1_cifs2.tar.gz differ
Binary files kernel-build-old/su-18-kernel_2.6.12.3-200550osso1_cifs2_all.deb and kernel-build/su-18-kernel_2.6.12.3-200550osso1_cifs2_all.deb differ
diff -uNr kernel-build-old/su-18-kernel_2.6.12.3-200550osso1_cifs2_arm.changes kernel-build/su-18-kernel_2.6.12.3-200550osso1_cifs2_arm.changes
--- kernel-build-old/su-18-kernel_2.6.12.3-200550osso1_cifs2_arm.changes	1970-01-01 01:00:00.000000000 +0100
+++ kernel-build/su-18-kernel_2.6.12.3-200550osso1_cifs2_arm.changes	2006-05-01 14:56:22.513146272 +0100
@@ -0,0 +1,25 @@
+Format: 1.7
+Date: Mon,  1 May 2006 14:46:08 +0100
+Source: su-18-kernel
+Binary: su-18-kernel-cifs su-18-kernel-headers su-18-kernel
+Architecture: source all arm
+Version: 2.6.12.3-200550osso1_cifs2
+Distribution: unstable
+Urgency: low
+Maintainer: Ed Bartosh <eduard.bartosh@nokia.com>
+Changed-By: David Connolly <david@connolly.name>
+Description:
+ su-18-kernel - Flashable Linux kernel for SU-18 hardware
+ su-18-kernel-cifs - CIFS Module for SU-18 hardware.
+ su-18-kernel-headers - Linux kernel headers
+Changes:
+ su-18-kernel (2.6.12.3-200550osso1_cifs2) unstable; urgency=low
+ .
+   * Fixed: Patch kernel after uncompressing tree.
+Files:
+ 7f5e739c197a08db81f4745d83ec96aa 419 utils optional su-18-kernel_2.6.12.3-200550osso1_cifs2.dsc
+ 8b7857858805f71f152f872f67484954 26992 utils optional su-18-kernel_2.6.12.3-200550osso1_cifs2.tar.gz
+ 9ef565ab51d4e0d922af20b9592f622e 1474286 utils optional su-18-kernel_2.6.12.3-200550osso1_cifs2_all.deb
+ 9bf15ffe261b1d763f87285590117ef3 5250486 utils optional su-18-kernel-headers_2.6.12.3-200550osso1_cifs2_all.deb
+ 6f38da341c535504508156b76e2ddede 101348 utils optional su-18-kernel-cifs_2.6.12.3-200550osso1_cifs2_arm.deb
+scratchbox-architecture: uarm