Warning!

Notice: the grml team is migrating from Mercurial to Git.
Please visit git.grml.org instead!

update 0000_README according to 2.6.18-grml (built 04)
authorMichael Prokop <mika@grml.org>
Sun Nov 26 11:04:54 2006 +0100 (2 years ago)
changeset 7e325246a15fb
manifeste325246a15fb
parent 629cd9a4c1bb6
child 8fff78074a91a
update 0000_README according to 2.6.18-grml (built 04)

updated patches:

4005_sky2-v1.9.patch
4310_fs-asfs.patch
5000_grml-version.patch
config-2.6.18-grml

added (sync with Debian's svn):

2300_UCR-61S2B-unusual_dev-update.patch
2410_bcm43xx-drain-tx-status-before-starting-irqs.patch
2420_sctp-backports-1.patch
2420_sctp-backports-2.patch
2420_sctp-backports-3.patch
2420_sctp-backports-4.patch
2420_sctp-backports-5.patch
2420_sctp-backports-6.patch
2420_sctp-backports-7.patch
4130_linux-2.6-aic9400-adp94xx-updates.patch
4445_ti.patch
2.6.18/0000_README
2.6.18/2300_UCR-61S2B-unusual_dev-update.patch
2.6.18/2410_bcm43xx-drain-tx-status-before-starting-irqs.patch
2.6.18/2420_sctp-backports-1.patch
2.6.18/2420_sctp-backports-2.patch
2.6.18/2420_sctp-backports-3.patch
2.6.18/2420_sctp-backports-4.patch
2.6.18/2420_sctp-backports-5.patch
2.6.18/2420_sctp-backports-6.patch
2.6.18/2420_sctp-backports-7.patch
2.6.18/4005_sky2-v1.9.patch
2.6.18/4130_linux-2.6-aic9400-adp94xx-updates.patch
2.6.18/4310_fs-asfs.patch
2.6.18/4445_ti.patch
2.6.18/5000_grml-version.patch
config/config-2.6.18-grml
--- a/2.6.18/0000_README Sat Nov 25 22:28:17 2006 +0100
+++ b/2.6.18/0000_README Sun Nov 26 11:04:54 2006 +0100
@@ -43,13 +43,25 @@ Individual Patch Descriptions:
Individual Patch Descriptions:
--------------------------------------------------------------------------
-Patch: 1000_2.6.18.2.patch
-From: http://kernel.org/pub/linux/kernel/v2.6/patch-2.6.18.2.bz2
+Patch: 1000_2.6.18.3.patch
+From: http://kernel.org/pub/linux/kernel/v2.6/patch-2.6.18.3.bz2
Desc: The latest stable version of the Linux kernel
+Patch: 2300_UCR-61S2B-unusual_dev-update.patch
+From: http://svn.debian.org/wsvn/kernel/dists/trunk/linux-2.6/debian/patches/
+Desc: USB: Fix UCR-61S2B unusual_dev entry
+
Patch: 2400_net-netpoll.patch
From: http://svn.debian.org/wsvn/kernel/dists/trunk/linux-2.6/debian/patches/
Desc: If netpoll uses up it's retries, it should drop the skb not leak memory.
+
+Patch: 2410_bcm43xx-drain-tx-status-before-starting-irqs.patch
+From: http://svn.debian.org/wsvn/kernel/dists/trunk/linux-2.6/debian/patches/
+Desc: bcm43xx stable fix
+
+Patch: 2420_sctp-backports-[1-7].patch
+From: http://svn.debian.org/wsvn/kernel/dists/trunk/linux-2.6/debian/patches/
+Desc: Backport various SCTP changesets from 2.6.19, recommended by Vlad Yasevich (closes: #397946)
Patch: 2500_via-irq-quirk-revert.patch
From: http://bugs.gentoo.org/138036
@@ -107,11 +119,15 @@ From: http://svn.debian.org/wsvn/kerne
From: http://svn.debian.org/wsvn/kernel/dists/trunk/linux-2.6/debian/patches/
Desc: scsi/BusLogic: Add MODULE_DEVICE_TABLE
+Patch: 4130_linux-2.6-aic9400-adp94xx-updates.patch
+From: http://developer.momonga-linux.org/viewcvs/trunk/pkgs/kernel/
+Desc: support for the Adaptec aic94xx SAS/SATA driver
+
Patch: 4200_drm-i965.patch
From: http://svn.debian.org/wsvn/kernel/dists/trunk/linux-2.6/debian/patches/
Desc: Add drm support for Intel i965G chipsets.
-Patch: 4300_squashfs-3.0.patch
+Patch: 4300_squashfs-3.1.patch
From: http://squashfs.sourceforge.net/
Desc: driver to support squashfs filesystems.
@@ -167,6 +183,10 @@ From: http://svn.debian.org/wsvn/kerne
From: http://svn.debian.org/wsvn/kernel/dists/trunk/linux-2.6/debian/patches/
Desc: f75375.c - driver for the Fintek F75375/SP and F75373 hardware monitoring features
+Patch: 4445_ti.patch
+From: http://svn.debian.org/wsvn/kernel/dists/trunk/linux-2.6/debian/patches/
+Desc: support for TI ez430 development tool ID in ti_usb
+
Patch: 5000_grml-version.patch
From: http://dufo.tugraz.at/~prokop/grml-kernel/
Desc: adjust kernel version for the grml-system (add -grml)
--- a/2.6.18/4005_sky2-v1.9.patch Sat Nov 25 22:28:17 2006 +0100
+++ b/2.6.18/4005_sky2-v1.9.patch Sun Nov 26 11:04:54 2006 +0100
@@ -1,10 +1,6 @@ sky2 from 2.6.19-rc2, last included comm
-sky2 from 2.6.19-rc2, last included commit:
-6e532cfe49b6e961e1260642a44959b645e9ab54
-
-Index: linux-2.6.18.1/drivers/net/sky2.c
-===================================================================
---- linux-2.6.18.1.orig/drivers/net/sky2.c
-+++ linux-2.6.18.1/drivers/net/sky2.c
+diff -urN -X dontdiff-mika linux-2.6.18.clean/drivers/net/sky2.c linux-2.6.18-sky2-v1.9/drivers/net/sky2.c
+--- linux-2.6.18.clean/drivers/net/sky2.c 2006-09-20 05:42:06.000000000 +0200
++++ linux-2.6.18-sky2-v1.9/drivers/net/sky2.c 2006-11-25 23:21:41.603221239 +0100
@@ -50,19 +50,18 @@
#include "sky2.h"
@@ -37,7 +33,7 @@ Index: linux-2.6.18.1/drivers/net/sky2.c
#define TX_WATCHDOG (5 * HZ)
#define NAPI_WEIGHT 64
#define PHY_RETRIES 1000
-@@ -90,7 +88,7 @@ static int debug = -1; /* defaults abov
+@@ -90,7 +88,7 @@
module_param(debug, int, 0);
MODULE_PARM_DESC(debug, "Debug level (0=none,...,16=all)");
@@ -46,7 +42,7 @@ Index: linux-2.6.18.1/drivers/net/sky2.c
module_param(copybreak, int, 0);
MODULE_PARM_DESC(copybreak, "Receive copy threshold");
-@@ -198,7 +196,6 @@ static u16 gm_phy_read(struct sky2_hw *h
+@@ -190,7 +188,6 @@
static void sky2_set_power_state(struct sky2_hw *hw, pci_power_t state)
{
u16 power_control;
@@ -54,7 +50,7 @@ Index: linux-2.6.18.1/drivers/net/sky2.c
int vaux;
pr_debug("sky2_set_power_state %d\n", state);
-@@ -231,20 +228,9 @@ static void sky2_set_power_state(struct
+@@ -223,20 +220,9 @@
else
sky2_write8(hw, B2_Y2_CLK_GATE, 0);
@@ -77,7 +73,7 @@ Index: linux-2.6.18.1/drivers/net/sky2.c
sky2_pci_write32(hw, PCI_DEV_REG3, 0);
reg1 = sky2_pci_read32(hw, PCI_DEV_REG4);
reg1 &= P_ASPM_CONTROL_MSK;
-@@ -256,15 +242,6 @@ static void sky2_set_power_state(struct
+@@ -248,15 +234,6 @@
case PCI_D3hot:
case PCI_D3cold:
@@ -93,7 +89,7 @@ Index: linux-2.6.18.1/drivers/net/sky2.c
if (hw->chip_id == CHIP_ID_YUKON_XL && hw->chip_rev > 1)
sky2_write8(hw, B2_Y2_CLK_GATE, 0);
else
-@@ -288,7 +265,7 @@ static void sky2_set_power_state(struct
+@@ -280,7 +257,7 @@
sky2_write8(hw, B2_TST_CTRL1, TST_CFG_WRITE_OFF);
}
@@ -102,7 +98,7 @@ Index: linux-2.6.18.1/drivers/net/sky2.c
{
u16 reg;
-@@ -310,7 +287,7 @@ static void sky2_phy_reset(struct sky2_h
+@@ -302,7 +279,7 @@
static void sky2_phy_init(struct sky2_hw *hw, unsigned port)
{
struct sky2_port *sky2 = netdev_priv(hw->dev[port]);
@@ -111,7 +107,7 @@ Index: linux-2.6.18.1/drivers/net/sky2.c
if (sky2->autoneg == AUTONEG_ENABLE &&
!(hw->chip_id == CHIP_ID_YUKON_XL || hw->chip_id == CHIP_ID_YUKON_EC_U)) {
-@@ -329,7 +306,7 @@ static void sky2_phy_init(struct sky2_hw
+@@ -321,7 +298,7 @@
}
ctrl = gm_phy_read(hw, port, PHY_MARV_PHY_CTRL);
@@ -120,7 +116,7 @@ Index: linux-2.6.18.1/drivers/net/sky2.c
if (hw->chip_id == CHIP_ID_YUKON_FE) {
/* enable automatic crossover */
ctrl |= PHY_M_PC_MDI_XMODE(PHY_M_PC_ENA_AUTO) >> 1;
-@@ -346,25 +323,37 @@ static void sky2_phy_init(struct sky2_hw
+@@ -338,25 +315,37 @@
ctrl |= PHY_M_PC_DSC(2) | PHY_M_PC_DOWN_S_ENA;
}
}
@@ -167,7 +163,7 @@ Index: linux-2.6.18.1/drivers/net/sky2.c
}
ctrl = gm_phy_read(hw, port, PHY_MARV_CTRL);
-@@ -379,9 +368,10 @@ static void sky2_phy_init(struct sky2_hw
+@@ -371,9 +360,10 @@
ctrl = 0;
ct1000 = 0;
adv = PHY_AN_CSMA;
@@ -179,7 +175,7 @@ Index: linux-2.6.18.1/drivers/net/sky2.c
if (sky2->advertising & ADVERTISED_1000baseT_Full)
ct1000 |= PHY_M_1000C_AFD;
if (sky2->advertising & ADVERTISED_1000baseT_Half)
-@@ -394,8 +384,12 @@ static void sky2_phy_init(struct sky2_hw
+@@ -386,8 +376,12 @@
adv |= PHY_M_AN_10_FD;
if (sky2->advertising & ADVERTISED_10baseT_Half)
adv |= PHY_M_AN_10_HD;
@@ -194,7 +190,7 @@ Index: linux-2.6.18.1/drivers/net/sky2.c
/* Set Flow-control capabilities */
if (sky2->tx_pause && sky2->rx_pause)
-@@ -411,21 +405,46 @@ static void sky2_phy_init(struct sky2_hw
+@@ -403,21 +397,46 @@
/* forced speed/duplex settings */
ct1000 = PHY_M_1000C_MSE;
@@ -243,7 +239,7 @@ Index: linux-2.6.18.1/drivers/net/sky2.c
if (hw->chip_id != CHIP_ID_YUKON_FE)
gm_phy_write(hw, port, PHY_MARV_1000T_CTRL, ct1000);
-@@ -529,6 +548,7 @@ static void sky2_phy_init(struct sky2_hw
+@@ -521,6 +540,7 @@
gm_phy_write(hw, port, PHY_MARV_LED_OVER, ledover);
}
@@ -251,7 +247,7 @@ Index: linux-2.6.18.1/drivers/net/sky2.c
/* Enable phy interrupt on auto-negotiation complete (or link up) */
if (sky2->autoneg == AUTONEG_ENABLE)
gm_phy_write(hw, port, PHY_MARV_INT_MASK, PHY_M_IS_AN_COMPL);
-@@ -536,6 +556,29 @@ static void sky2_phy_init(struct sky2_hw
+@@ -528,6 +548,29 @@
gm_phy_write(hw, port, PHY_MARV_INT_MASK, PHY_M_DEF_MSK);
}
@@ -281,7 +277,7 @@ Index: linux-2.6.18.1/drivers/net/sky2.c
/* Force a renegotiation */
static void sky2_phy_reinit(struct sky2_port *sky2)
{
-@@ -568,49 +611,11 @@ static void sky2_mac_init(struct sky2_hw
+@@ -560,49 +603,11 @@
gm_phy_read(hw, 1, PHY_MARV_INT_MASK) != 0);
}
@@ -334,16 +330,7 @@ Index: linux-2.6.18.1/drivers/net/sky2.c
spin_lock_bh(&sky2->phy_lock);
sky2_phy_init(hw, port);
spin_unlock_bh(&sky2->phy_lock);
-@@ -678,7 +683,7 @@ static void sky2_mac_init(struct sky2_hw
- sky2_write16(hw, SK_REG(port, TX_GMF_CTRL_T), GMF_OPER_ON);
-
- if (hw->chip_id == CHIP_ID_YUKON_EC_U) {
-- sky2_write8(hw, SK_REG(port, RX_GMF_LP_THR), 768/8);
-+ sky2_write8(hw, SK_REG(port, RX_GMF_LP_THR), 512/8);
- sky2_write8(hw, SK_REG(port, RX_GMF_UP_THR), 1024/8);
- if (hw->dev[port]->mtu > ETH_DATA_LEN) {
- /* set Tx GMAC FIFO Almost Empty Threshold */
-@@ -762,15 +767,23 @@ static inline struct sky2_tx_le *get_tx_
+@@ -754,15 +759,23 @@
struct sky2_tx_le *le = sky2->tx_le + sky2->tx_prod;
sky2->tx_prod = RING_NEXT(sky2->tx_prod, TX_RING_SIZE);
@@ -369,7 +356,7 @@ Index: linux-2.6.18.1/drivers/net/sky2.c
}
-@@ -778,6 +791,7 @@ static inline struct sky2_rx_le *sky2_ne
+@@ -770,6 +783,7 @@
{
struct sky2_rx_le *le = sky2->rx_le + sky2->rx_put;
sky2->rx_put = RING_NEXT(sky2->rx_put, RX_LE_SIZE);
@@ -377,7 +364,7 @@ Index: linux-2.6.18.1/drivers/net/sky2.c
return le;
}
-@@ -787,17 +801,16 @@ static inline u32 high32(dma_addr_t a)
+@@ -779,17 +793,16 @@
return sizeof(a) > sizeof(u32) ? (a >> 16) >> 16 : 0;
}
@@ -398,7 +385,7 @@ Index: linux-2.6.18.1/drivers/net/sky2.c
le->opcode = OP_ADDR64 | HW_OWNER;
sky2->rx_addr64 = high32(map + len);
}
-@@ -805,10 +818,52 @@ static void sky2_rx_add(struct sky2_port
+@@ -797,10 +810,52 @@
le = sky2_next_rx(sky2);
le->addr = cpu_to_le32((u32) map);
le->length = cpu_to_le16(len);
@@ -453,7 +440,7 @@ Index: linux-2.6.18.1/drivers/net/sky2.c
/* Tell chip where to start receive checksum.
* Actually has two checksums, but set both same to avoid possible byte
-@@ -819,7 +874,7 @@ static void rx_set_checksum(struct sky2_
+@@ -811,7 +866,7 @@
struct sky2_rx_le *le;
le = sky2_next_rx(sky2);
@@ -462,7 +449,7 @@ Index: linux-2.6.18.1/drivers/net/sky2.c
le->ctrl = 0;
le->opcode = OP_TCPSTART | HW_OWNER;
-@@ -869,12 +924,10 @@ static void sky2_rx_clean(struct sky2_po
+@@ -861,12 +916,10 @@
memset(sky2->rx_le, 0, RX_LE_BYTES);
for (i = 0; i < sky2->rx_pending; i++) {
@@ -477,7 +464,7 @@ Index: linux-2.6.18.1/drivers/net/sky2.c
kfree_skb(re->skb);
re->skb = NULL;
}
-@@ -928,13 +981,13 @@ static void sky2_vlan_rx_register(struct
+@@ -920,13 +973,13 @@
struct sky2_hw *hw = sky2->hw;
u16 port = sky2->port;
@@ -493,7 +480,7 @@ Index: linux-2.6.18.1/drivers/net/sky2.c
}
static void sky2_vlan_rx_kill_vid(struct net_device *dev, unsigned short vid)
-@@ -943,48 +996,69 @@ static void sky2_vlan_rx_kill_vid(struct
+@@ -935,48 +988,69 @@
struct sky2_hw *hw = sky2->hw;
u16 port = sky2->port;
@@ -577,7 +564,7 @@ Index: linux-2.6.18.1/drivers/net/sky2.c
sky2->rx_put = sky2->rx_next = 0;
sky2_qset(hw, rxq);
-@@ -997,26 +1071,56 @@ static int sky2_rx_start(struct sky2_por
+@@ -989,26 +1063,56 @@
sky2_prefetch_init(hw, rxq, sky2->rx_le_map, RX_LE_SIZE - 1);
rx_set_checksum(sky2);
@@ -641,7 +628,7 @@ Index: linux-2.6.18.1/drivers/net/sky2.c
if (thresh > 0x1ff)
sky2_write32(hw, SK_REG(sky2->port, RX_GMF_CTRL_T), RX_TRUNC_OFF);
else {
-@@ -1024,7 +1128,6 @@ static int sky2_rx_start(struct sky2_por
+@@ -1016,7 +1120,6 @@
sky2_write32(hw, SK_REG(sky2->port, RX_GMF_CTRL_T), RX_TRUNC_ON);
}
@@ -649,7 +636,7 @@ Index: linux-2.6.18.1/drivers/net/sky2.c
/* Tell chip about available buffers */
sky2_write16(hw, Y2_QADDR(rxq, PREF_UNIT_PUT_IDX), sky2->rx_put);
return 0;
-@@ -1083,11 +1186,13 @@ static int sky2_up(struct net_device *de
+@@ -1075,11 +1178,13 @@
goto err_out;
memset(sky2->rx_le, 0, RX_LE_BYTES);
@@ -664,7 +651,7 @@ Index: linux-2.6.18.1/drivers/net/sky2.c
sky2_mac_init(hw, port);
/* Determine available ram buffer space (in 4K blocks).
-@@ -1111,7 +1216,8 @@ static int sky2_up(struct net_device *de
+@@ -1103,7 +1208,8 @@
sky2_qset(hw, txqaddr[port]);
/* Set almost empty threshold */
@@ -674,7 +661,7 @@ Index: linux-2.6.18.1/drivers/net/sky2.c
sky2_write16(hw, Q_ADDR(txqaddr[port], Q_AL), 0x1a0);
sky2_prefetch_init(hw, txqaddr[port], sky2->tx_le_map,
-@@ -1182,8 +1288,6 @@ static unsigned tx_le_req(const struct s
+@@ -1174,8 +1280,6 @@
* A single packet can generate multiple list elements, and
* the number of ring elements will probably be less than the number
* of list elements used.
@@ -683,7 +670,7 @@ Index: linux-2.6.18.1/drivers/net/sky2.c
*/
static int sky2_xmit_frame(struct sk_buff *skb, struct net_device *dev)
{
-@@ -1192,33 +1296,13 @@ static int sky2_xmit_frame(struct sk_buf
+@@ -1184,33 +1288,13 @@
struct sky2_tx_le *le = NULL;
struct tx_ring_info *re;
unsigned i, len;
@@ -719,7 +706,7 @@ Index: linux-2.6.18.1/drivers/net/sky2.c
if (unlikely(netif_msg_tx_queued(sky2)))
printk(KERN_DEBUG "%s: tx queued, slot %u, len %d\n",
-@@ -1228,13 +1312,10 @@ static int sky2_xmit_frame(struct sk_buf
+@@ -1220,13 +1304,10 @@
mapping = pci_map_single(hw->pdev, skb->data, len, PCI_DMA_TODEVICE);
addr64 = high32(mapping);
@@ -734,7 +721,7 @@ Index: linux-2.6.18.1/drivers/net/sky2.c
le->opcode = OP_ADDR64 | HW_OWNER;
sky2->tx_addr64 = high32(mapping + len);
}
-@@ -1242,25 +1323,16 @@ static int sky2_xmit_frame(struct sk_buf
+@@ -1234,25 +1315,16 @@
/* Check for TCP Segmentation Offload */
mss = skb_shinfo(skb)->gso_size;
if (mss != 0) {
@@ -766,7 +753,7 @@ Index: linux-2.6.18.1/drivers/net/sky2.c
}
ctrl = 0;
-@@ -1269,9 +1341,8 @@ static int sky2_xmit_frame(struct sk_buf
+@@ -1261,9 +1333,8 @@
if (sky2->vlgrp && vlan_tx_tag_present(skb)) {
if (!le) {
le = get_tx_le(sky2);
@@ -777,7 +764,7 @@ Index: linux-2.6.18.1/drivers/net/sky2.c
} else
le->opcode |= OP_VLAN;
le->length = cpu_to_be16(vlan_tx_tag_get(skb));
-@@ -1281,72 +1352,71 @@ static int sky2_xmit_frame(struct sk_buf
+@@ -1273,72 +1344,71 @@
/* Handle TCP checksum offload */
if (skb->ip_summed == CHECKSUM_HW) {
@@ -876,7 +863,7 @@ Index: linux-2.6.18.1/drivers/net/sky2.c
dev->trans_start = jiffies;
return NETDEV_TX_OK;
}
-@@ -1355,59 +1425,59 @@ out_unlock:
+@@ -1347,59 +1417,59 @@
* Free ring elements from starting at tx_cons until "done"
*
* NB: the hardware will tell us about partial completion of multi-part
@@ -935,16 +922,16 @@ Index: linux-2.6.18.1/drivers/net/sky2.c
+ pci_unmap_len(re, maplen),
PCI_DMA_TODEVICE);
+ break;
-+ }
-+
+ }
+
+- dev_kfree_skb(skb);
+ if (le->ctrl & EOP) {
+ if (unlikely(netif_msg_tx_done(sky2)))
+ printk(KERN_DEBUG "%s: tx done %u\n",
+ dev->name, idx);
+ dev_kfree_skb(re->skb);
- }
-
-- dev_kfree_skb(skb);
++ }
++
+ le->opcode = 0; /* paranoia */
}
@@ -968,16 +955,21 @@ Index: linux-2.6.18.1/drivers/net/sky2.c
}
/* Network shutdown */
-@@ -1429,7 +1499,7 @@ static int sky2_down(struct net_device *
+@@ -1421,7 +1491,12 @@
/* Stop more packets from being queued */
netif_stop_queue(dev);
- sky2_phy_reset(hw, port);
++ /* Disable port IRQ */
++ imask = sky2_read32(hw, B0_IMSK);
++ imask &= ~portirq_msk[port];
++ sky2_write32(hw, B0_IMSK, imask);
++
+ sky2_gmac_reset(hw, port);
/* Stop transmitter */
sky2_write32(hw, Q_ADDR(txqaddr[port], Q_CSR), BMU_STOP);
-@@ -1438,6 +1508,13 @@ static int sky2_down(struct net_device *
+@@ -1430,6 +1505,13 @@
sky2_write32(hw, RB_ADDR(txqaddr[port], RB_CTRL),
RB_RST_SET | RB_DIS_OP_MD);
@@ -991,14 +983,7 @@ Index: linux-2.6.18.1/drivers/net/sky2.c
ctrl = gma_read16(hw, port, GM_GP_CTRL);
ctrl &= ~(GM_GPCR_TX_ENA | GM_GPCR_RX_ENA);
gma_write16(hw, port, GM_GP_CTRL, ctrl);
-@@ -1477,12 +1554,14 @@ static int sky2_down(struct net_device *
- imask &= ~portirq_msk[port];
- sky2_write32(hw, B0_IMSK, imask);
-
-+ sky2_phy_power(hw, port, 0);
-+
- /* turn off LED's */
- sky2_write16(hw, B0_Y2LED, LED_STAT_OFF);
+@@ -1474,7 +1558,7 @@
synchronize_irq(hw->pdev->irq);
@@ -1007,7 +992,7 @@ Index: linux-2.6.18.1/drivers/net/sky2.c
sky2_rx_clean(sky2);
pci_free_consistent(hw->pdev, RX_LE_BYTES,
-@@ -1505,7 +1584,7 @@ static int sky2_down(struct net_device *
+@@ -1497,7 +1581,7 @@
static u16 sky2_phy_speed(const struct sky2_hw *hw, u16 aux)
{
@@ -1016,7 +1001,7 @@ Index: linux-2.6.18.1/drivers/net/sky2.c
return SPEED_1000;
if (hw->chip_id == CHIP_ID_YUKON_FE)
-@@ -1527,40 +1606,10 @@ static void sky2_link_up(struct sky2_por
+@@ -1519,40 +1603,10 @@
unsigned port = sky2->port;
u16 reg;
@@ -1058,7 +1043,7 @@ Index: linux-2.6.18.1/drivers/net/sky2.c
gm_phy_write(hw, port, PHY_MARV_INT_MASK, PHY_M_DEF_MSK);
-@@ -1614,7 +1663,6 @@ static void sky2_link_down(struct sky2_p
+@@ -1606,7 +1660,6 @@
reg = gma_read16(hw, port, GM_GP_CTRL);
reg &= ~(GM_GPCR_RX_ENA | GM_GPCR_TX_ENA);
gma_write16(hw, port, GM_GP_CTRL, reg);
@@ -1066,7 +1051,7 @@ Index: linux-2.6.18.1/drivers/net/sky2.c
if (sky2->rx_pause && !sky2->tx_pause) {
/* restore Asymmetric Pause bit */
-@@ -1631,6 +1679,7 @@ static void sky2_link_down(struct sky2_p
+@@ -1623,6 +1676,7 @@
if (netif_msg_link(sky2))
printk(KERN_INFO PFX "%s: Link is down.\n", sky2->netdev->name);
@@ -1074,7 +1059,7 @@ Index: linux-2.6.18.1/drivers/net/sky2.c
sky2_phy_init(hw, port);
}
-@@ -1647,22 +1696,33 @@ static int sky2_autoneg_done(struct sky2
+@@ -1639,22 +1693,33 @@
return -1;
}
@@ -1117,7 +1102,7 @@ Index: linux-2.6.18.1/drivers/net/sky2.c
/* Pause bits are offset (9..8) */
if (hw->chip_id == CHIP_ID_YUKON_XL || hw->chip_id == CHIP_ID_YUKON_EC_U)
-@@ -1671,8 +1731,11 @@ static int sky2_autoneg_done(struct sky2
+@@ -1663,8 +1728,11 @@
sky2->rx_pause = (aux & PHY_M_PS_RX_P_EN) != 0;
sky2->tx_pause = (aux & PHY_M_PS_TX_P_EN) != 0;
@@ -1131,7 +1116,7 @@ Index: linux-2.6.18.1/drivers/net/sky2.c
sky2_write8(hw, SK_REG(port, GMAC_CTRL), GMC_PAUSE_ON);
else
sky2_write8(hw, SK_REG(port, GMAC_CTRL), GMC_PAUSE_OFF);
-@@ -1698,7 +1761,7 @@ static void sky2_phy_intr(struct sky2_hw
+@@ -1690,7 +1758,7 @@
printk(KERN_INFO PFX "%s: phy interrupt status 0x%x 0x%x\n",
sky2->netdev->name, istatus, phystat);
@@ -1140,7 +1125,7 @@ Index: linux-2.6.18.1/drivers/net/sky2.c
if (sky2_autoneg_done(sky2, phystat) == 0)
sky2_link_up(sky2);
goto out;
-@@ -1750,31 +1813,22 @@ static void sky2_tx_timeout(struct net_d
+@@ -1742,31 +1810,22 @@
} else if (report != sky2->tx_cons) {
printk(KERN_INFO PFX "status report lost?\n");
@@ -1175,7 +1160,7 @@ Index: linux-2.6.18.1/drivers/net/sky2.c
static int sky2_change_mtu(struct net_device *dev, int new_mtu)
{
struct sky2_port *sky2 = netdev_priv(dev);
-@@ -1809,7 +1863,7 @@ static int sky2_change_mtu(struct net_de
+@@ -1801,7 +1860,7 @@
sky2_rx_clean(sky2);
dev->mtu = new_mtu;
@@ -1184,7 +1169,7 @@ Index: linux-2.6.18.1/drivers/net/sky2.c
mode = DATA_BLIND_VAL(DATA_BLIND_DEF) |
GM_SMOD_VLAN_ENA | IPG_DATA_VAL(IPG_DATA_DEF);
-@@ -1835,20 +1889,105 @@ static int sky2_change_mtu(struct net_de
+@@ -1827,20 +1886,105 @@
return err;
}
@@ -1294,7 +1279,7 @@ Index: linux-2.6.18.1/drivers/net/sky2.c
sky2->rx_next = (sky2->rx_next + 1) % sky2->rx_pending;
prefetch(sky2->rx_ring + sky2->rx_next);
-@@ -1859,43 +1998,15 @@ static struct sk_buff *sky2_receive(stru
+@@ -1851,43 +1995,15 @@
if (!(status & GMR_FS_RX_OK))
goto resubmit;
@@ -1344,7 +1329,7 @@ Index: linux-2.6.18.1/drivers/net/sky2.c
return skb;
-@@ -1908,7 +2019,7 @@ error:
+@@ -1900,7 +2016,7 @@
if (netif_msg_rx_err(sky2) && net_ratelimit())
printk(KERN_INFO PFX "%s: rx error, status 0x%x length %d\n",
@@ -1353,7 +1338,7 @@ Index: linux-2.6.18.1/drivers/net/sky2.c
if (status & (GMR_FS_LONG_ERR | GMR_FS_UN_SIZE))
sky2->net_stats.rx_length_errors++;
-@@ -1928,18 +2039,12 @@ static inline void sky2_tx_done(struct n
+@@ -1920,18 +2036,12 @@
struct sky2_port *sky2 = netdev_priv(dev);
if (netif_running(dev)) {
@@ -1374,7 +1359,7 @@ Index: linux-2.6.18.1/drivers/net/sky2.c
/* Process status response ring */
static int sky2_status_intr(struct sky2_hw *hw, int to_do)
{
-@@ -1963,16 +2068,15 @@ static int sky2_status_intr(struct sky2_
+@@ -1955,16 +2065,15 @@
dev = hw->dev[le->link];
sky2 = netdev_priv(dev);
@@ -1394,7 +1379,7 @@ Index: linux-2.6.18.1/drivers/net/sky2.c
skb->protocol = eth_type_trans(skb, dev);
dev->last_rx = jiffies;
-@@ -2009,7 +2113,7 @@ static int sky2_status_intr(struct sky2_
+@@ -2001,7 +2110,7 @@
case OP_RXCHKS:
skb = sky2->rx_ring[sky2->rx_next].skb;
skb->ip_summed = CHECKSUM_HW;
@@ -1403,7 +1388,7 @@ Index: linux-2.6.18.1/drivers/net/sky2.c
break;
case OP_TXINDEXLE:
-@@ -2030,6 +2134,9 @@ static int sky2_status_intr(struct sky2_
+@@ -2022,6 +2131,9 @@
}
}
@@ -1413,7 +1398,7 @@ Index: linux-2.6.18.1/drivers/net/sky2.c
exit_loop:
if (buf_write[0]) {
sky2 = netdev_priv(hw->dev[0]);
-@@ -2105,7 +2212,7 @@ static void sky2_hw_intr(struct sky2_hw
+@@ -2097,7 +2209,7 @@
sky2_write8(hw, B2_TST_CTRL1, TST_CFG_WRITE_ON);
sky2_pci_write16(hw, PCI_STATUS,
@@ -1422,7 +1407,7 @@ Index: linux-2.6.18.1/drivers/net/sky2.c
sky2_write8(hw, B2_TST_CTRL1, TST_CFG_WRITE_OFF);
}
-@@ -2239,19 +2346,16 @@ static int sky2_poll(struct net_device *
+@@ -2231,19 +2343,16 @@
sky2_descriptor_error(hw, 1, "transmit", Y2_IS_CHK_TXA2);
work_done = sky2_status_intr(hw, work_limit);
@@ -1450,7 +1435,7 @@ Index: linux-2.6.18.1/drivers/net/sky2.c
}
static irqreturn_t sky2_intr(int irq, void *dev_id, struct pt_regs *regs)
-@@ -2311,7 +2415,7 @@ static inline u32 sky2_clk2us(const stru
+@@ -2303,7 +2412,7 @@
static int sky2_reset(struct sky2_hw *hw)
{
u16 status;
@@ -1459,7 +1444,7 @@ Index: linux-2.6.18.1/drivers/net/sky2.c
int i;
sky2_write8(hw, B0_CTST, CS_RST_CLR);
-@@ -2357,9 +2461,7 @@ static int sky2_reset(struct sky2_hw *hw
+@@ -2349,9 +2458,7 @@
sky2_pci_write32(hw, PEX_UNC_ERR_STAT, 0xffffffffUL);
@@ -1470,7 +1455,7 @@ Index: linux-2.6.18.1/drivers/net/sky2.c
hw->ports = 1;
t8 = sky2_read8(hw, B2_Y2_HW_RES);
if ((t8 & CFG_DUAL_MAC_MSK) == CFG_DUAL_MAC_MSK) {
-@@ -2417,7 +2519,7 @@ static int sky2_reset(struct sky2_hw *hw
+@@ -2409,7 +2516,7 @@
sky2_write32(hw, B0_HWE_IMSK, Y2_HWE_ALL_MASK);
for (i = 0; i < hw->ports; i++)
@@ -1479,7 +1464,7 @@ Index: linux-2.6.18.1/drivers/net/sky2.c
memset(hw->st_le, 0, STATUS_LE_BYTES);
hw->st_idx = 0;
-@@ -2456,21 +2558,22 @@ static int sky2_reset(struct sky2_hw *hw
+@@ -2448,21 +2555,22 @@
static u32 sky2_supported_modes(const struct sky2_hw *hw)
{
@@ -1513,7 +1498,7 @@ Index: linux-2.6.18.1/drivers/net/sky2.c
}
static int sky2_get_settings(struct net_device *dev, struct ethtool_cmd *ecmd)
-@@ -2481,7 +2584,7 @@ static int sky2_get_settings(struct net_
+@@ -2473,7 +2581,7 @@
ecmd->transceiver = XCVR_INTERNAL;
ecmd->supported = sky2_supported_modes(hw);
ecmd->phy_address = PHY_ADDR_MARV;
@@ -1522,7 +1507,7 @@ Index: linux-2.6.18.1/drivers/net/sky2.c
ecmd->supported = SUPPORTED_10baseT_Half
| SUPPORTED_10baseT_Full
| SUPPORTED_100baseT_Half
-@@ -2490,12 +2593,14 @@ static int sky2_get_settings(struct net_
+@@ -2482,12 +2590,14 @@
| SUPPORTED_1000baseT_Full
| SUPPORTED_Autoneg | SUPPORTED_TP;
ecmd->port = PORT_TP;
@@ -1539,7 +1524,7 @@ Index: linux-2.6.18.1/drivers/net/sky2.c
ecmd->duplex = sky2->duplex;
return 0;
}
-@@ -2894,7 +2999,6 @@ static int sky2_set_pauseparam(struct ne
+@@ -2886,7 +2996,6 @@
struct ethtool_pauseparam *ecmd)
{
struct sky2_port *sky2 = netdev_priv(dev);
@@ -1547,7 +1532,7 @@ Index: linux-2.6.18.1/drivers/net/sky2.c
sky2->autoneg = ecmd->autoneg;
sky2->tx_pause = ecmd->tx_pause != 0;
-@@ -2902,7 +3006,7 @@ static int sky2_set_pauseparam(struct ne
+@@ -2894,7 +3003,7 @@
sky2_phy_reinit(sky2);
@@ -1556,7 +1541,7 @@ Index: linux-2.6.18.1/drivers/net/sky2.c
}
static int sky2_get_coalesce(struct net_device *dev,
-@@ -3128,7 +3232,6 @@ static __devinit struct net_device *sky2
+@@ -3120,7 +3229,6 @@
sky2->hw = hw;
sky2->msg_enable = netif_msg_init(debug, default_msg);
@@ -1564,7 +1549,7 @@ Index: linux-2.6.18.1/drivers/net/sky2.c
/* Auto speed and flow control */
sky2->autoneg = AUTONEG_ENABLE;
sky2->tx_pause = 1;
-@@ -3141,13 +3244,11 @@ static __devinit struct net_device *sky2
+@@ -3133,13 +3241,11 @@
spin_lock_init(&sky2->phy_lock);
sky2->tx_pending = TX_DEF_PENDING;
sky2->rx_pending = RX_DEF_PENDING;
@@ -1578,7 +1563,7 @@ Index: linux-2.6.18.1/drivers/net/sky2.c
if (hw->chip_id != CHIP_ID_YUKON_EC_U)
dev->features |= NETIF_F_TSO;
if (highmem)
-@@ -3208,6 +3309,8 @@ static int __devinit sky2_test_msi(struc
+@@ -3200,6 +3306,8 @@
struct pci_dev *pdev = hw->pdev;
int err;
@@ -1587,19 +1572,7 @@ Index: linux-2.6.18.1/drivers/net/sky2.c
sky2_write32(hw, B0_IMSK, Y2_IS_IRQ_SW);
err = request_irq(pdev->irq, sky2_test_intr, IRQF_SHARED, DRV_NAME, hw);
-@@ -3217,10 +3320,8 @@ static int __devinit sky2_test_msi(struc
- return err;
- }
-
-- init_waitqueue_head (&hw->msi_wait);
--
- sky2_write8(hw, B0_CTST, CS_ST_SW_IRQ);
-- wmb();
-+ sky2_read8(hw, B0_CTST);
-
- wait_event_timeout(hw->msi_wait, hw->msi_detected, HZ/10);
-
-@@ -3312,12 +3413,13 @@ static int __devinit sky2_probe(struct p
+@@ -3304,12 +3412,13 @@
hw->pm_cap = pm_cap;
#ifdef __BIG_ENDIAN
@@ -1616,7 +1589,7 @@ Index: linux-2.6.18.1/drivers/net/sky2.c
sky2_pci_write32(hw, PCI_DEV_REG2, reg);
}
#endif
-@@ -3341,6 +3443,14 @@ static int __devinit sky2_probe(struct p
+@@ -3333,6 +3442,14 @@
if (!dev)
goto err_out_free_pci;
@@ -1631,7 +1604,7 @@ Index: linux-2.6.18.1/drivers/net/sky2.c
err = register_netdev(dev);
if (err) {
printk(KERN_ERR PFX "%s: cannot register net device\n",
-@@ -3348,6 +3458,14 @@ static int __devinit sky2_probe(struct p
+@@ -3340,6 +3457,14 @@
goto err_out_free_netdev;
}
@@ -1646,7 +1619,7 @@ Index: linux-2.6.18.1/drivers/net/sky2.c
sky2_show_addr(dev);
if (hw->ports > 1 && (dev1 = sky2_init_netdev(hw, 1, using_dac))) {
-@@ -3362,23 +3480,6 @@ static int __devinit sky2_probe(struct p
+@@ -3354,23 +3479,6 @@
}
}
@@ -1670,7 +1643,7 @@ Index: linux-2.6.18.1/drivers/net/sky2.c
setup_timer(&hw->idle_timer, sky2_idle, (unsigned long) hw);
sky2_idle_start(hw);
-@@ -3388,10 +3489,6 @@ static int __devinit sky2_probe(struct p
+@@ -3380,10 +3488,6 @@
err_out_unregister:
pci_disable_msi(pdev);
@@ -1681,10 +1654,9 @@ Index: linux-2.6.18.1/drivers/net/sky2.c
unregister_netdev(dev);
err_out_free_netdev:
free_netdev(dev);
-Index: linux-2.6.18.1/drivers/net/sky2.h
-===================================================================
---- linux-2.6.18.1.orig/drivers/net/sky2.h
-+++ linux-2.6.18.1/drivers/net/sky2.h
+diff -urN -X dontdiff-mika linux-2.6.18.clean/drivers/net/sky2.h linux-2.6.18-sky2-v1.9/drivers/net/sky2.h
+--- linux-2.6.18.clean/drivers/net/sky2.h 2006-09-20 05:42:06.000000000 +0200
++++ linux-2.6.18-sky2-v1.9/drivers/net/sky2.h 2006-11-25 23:21:41.607221409 +0100
@@ -4,6 +4,8 @@
#ifndef _SKY2_H
#define _SKY2_H
@@ -1694,7 +1666,7 @@ Index: linux-2.6.18.1/drivers/net/sky2.h
/* PCI config registers */
enum {
PCI_DEV_REG1 = 0x40,
-@@ -1318,6 +1320,14 @@ enum {
+@@ -1318,6 +1320,14 @@
};
/* for Yukon-2 Gigabit Ethernet PHY (88E1112 only) */
@@ -1709,7 +1681,7 @@ Index: linux-2.6.18.1/drivers/net/sky2.h
/***** PHY_MARV_PHY_CTRL (page 2) 16 bit r/w MAC Specific Ctrl *****/
enum {
PHY_M_MAC_MD_MSK = 7<<7, /* Bit 9.. 7: Mode Select Mask */
-@@ -1748,7 +1758,6 @@ enum {
+@@ -1748,7 +1758,6 @@
INIT_SUM= 1<<3,
LOCK_SUM= 1<<4,
INS_VLAN= 1<<5,
@@ -1717,7 +1689,7 @@ Index: linux-2.6.18.1/drivers/net/sky2.h
EOP = 1<<7,
};
-@@ -1784,21 +1793,9 @@ enum {
+@@ -1784,21 +1793,9 @@
OP_TXINDEXLE = 0x68,
};
@@ -1741,7 +1713,7 @@ Index: linux-2.6.18.1/drivers/net/sky2.h
__le16 length; /* also vlan tag or checksum start */
u8 ctrl;
u8 opcode;
-@@ -1821,12 +1818,14 @@ struct sky2_status_le {
+@@ -1821,12 +1818,14 @@
struct tx_ring_info {
struct sk_buff *skb;
DECLARE_PCI_UNMAP_ADDR(mapaddr);
@@ -1759,7 +1731,7 @@ Index: linux-2.6.18.1/drivers/net/sky2.h
};
struct sky2_port {
-@@ -1836,7 +1835,6 @@ struct sky2_port {
+@@ -1836,7 +1835,6 @@
u32 msg_enable;
spinlock_t phy_lock;
@@ -1767,7 +1739,7 @@ Index: linux-2.6.18.1/drivers/net/sky2.h
struct tx_ring_info *tx_ring;
struct sky2_tx_le *tx_le;
u16 tx_cons; /* next le to check */
-@@ -1844,14 +1842,17 @@ struct sky2_port {
+@@ -1844,14 +1842,17 @@
u32 tx_addr64;
u16 tx_pending;
u16 tx_last_mss;
@@ -1787,7 +1759,7 @@ Index: linux-2.6.18.1/drivers/net/sky2.h
#ifdef SKY2_VLAN_TAG_USED
u16 rx_tag;
struct vlan_group *vlgrp;
-@@ -1879,7 +1880,7 @@ struct sky2_hw {
+@@ -1879,7 +1880,7 @@
int pm_cap;
u8 chip_id;
u8 chip_rev;
@@ -1796,7 +1768,7 @@ Index: linux-2.6.18.1/drivers/net/sky2.h
u8 ports;
struct sky2_status_le *st_le;
-@@ -1891,6 +1892,11 @@ struct sky2_hw {
+@@ -1891,6 +1892,11 @@
wait_queue_head_t msi_wait;
};
--- a/2.6.18/4310_fs-asfs.patch Sat Nov 25 22:28:17 2006 +0100
+++ b/2.6.18/4310_fs-asfs.patch Sun Nov 26 11:04:54 2006 +0100
@@ -6,9 +6,9 @@
## DP: Upstream status: submitted but no reply. Submitted again on 2005.03.22.
## DP: Reference: http://home.elka.pw.edu.pl/~mszyprow/programy/asfs/
-diff -urN linux-2.6.18/Documentation/filesystems/00-INDEX linux-2.6.18-asfs-1.0b11/Documentation/filesystems/00-INDEX
---- linux-2.6.18/Documentation/filesystems/00-INDEX 2006-09-22 22:47:41.000000000 +0200
-+++ linux-2.6.18-asfs-1.0b11/Documentation/filesystems/00-INDEX 2006-09-22 22:53:21.000000000 +0200
+diff -Nur linux-2.6.19-rc6/Documentation/filesystems/00-INDEX linux-2.6.19-rc6/Documentation/filesystems/00-INDEX
+--- linux-2.6.19-rc6/Documentation/filesystems/00-INDEX 2006-11-16 05:03:40.000000000 +0100
++++ linux-2.6.19-rc6/Documentation/filesystems/00-INDEX 2006-11-24 18:19:03.000000000 +0100
@@ -10,6 +10,8 @@
- info and examples for the distributed AFS (Andrew File System) fs.
affs.txt
@@ -18,9 +18,9 @@ diff -urN linux-2.6.18/Documentation/fil
automount-support.txt
- information about filesystem automount support.
befs.txt
-diff -urN linux-2.6.18/Documentation/filesystems/asfs.txt linux-2.6.18-asfs-1.0b11/Documentation/filesystems/asfs.txt
---- linux-2.6.18/Documentation/filesystems/asfs.txt 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.6.18-asfs-1.0b11/Documentation/filesystems/asfs.txt 2006-09-22 22:52:37.000000000 +0200
+diff -Nur linux-2.6.19-rc6/Documentation/filesystems/asfs.txt linux-2.6.19-rc6/Documentation/filesystems/asfs.txt
+--- linux-2.6.19-rc6/Documentation/filesystems/asfs.txt 1970-01-01 01:00:00.000000000 +0100
++++ linux-2.6.19-rc6/Documentation/filesystems/asfs.txt 2006-11-24 18:19:03.000000000 +0100
@@ -0,0 +1,161 @@
+
+Amiga SmartFileSystem, Linux implementation
@@ -183,9 +183,209 @@ diff -urN linux-2.6.18/Documentation/fil
+The ASFS driver is realased under the terms of of the GNU General
+Public License. See source code for more details.
+
-diff -urN linux-2.6.18/fs/asfs/adminspace.c linux-2.6.18-asfs-1.0b11/fs/asfs/adminspace.c
---- linux-2.6.18/fs/asfs/adminspace.c 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.6.18-asfs-1.0b11/fs/asfs/adminspace.c 2006-09-22 22:52:37.000000000 +0200
+diff -Nur linux-2.6.19-rc6/fs/Kconfig linux-2.6.19-rc6/fs/Kconfig
+--- linux-2.6.19-rc6/fs/Kconfig 2006-11-16 05:03:40.000000000 +0100
++++ linux-2.6.19-rc6/fs/Kconfig 2006-11-24 18:19:03.000000000 +0100
+@@ -1111,6 +1111,53 @@
+ To compile this file system support as a module, choose M here: the
+ module will be called ecryptfs.
+
++config ASFS_FS
++ tristate "Amiga SFS file system support (EXPERIMENTAL)"
++ select NLS
++ depends on EXPERIMENTAL
++ help
++
++ The Amiga Smart FileSystem (SFS) is the file system used on hard
++ disks by Amiga(tm) and MorphOS(tm) systems. Say Y if you want
++ to be able to read files from an Amiga SFS partition on your hard
++ drive.
++
++ For more information read <file:Documentation/filesystems/asfs.txt>
++
++ To compile this file system support as a module, choose M here: the
++ module will be called asfs.
++
++ If unsure, say N.
++
++config ASFS_DEFAULT_CODEPAGE
++ string "Default codepage for SFS"
++ depends on ASFS_FS
++ default ""
++ help
++ This option should be set to the codepage of your SFS filesystems.
++ It can be overridden with the 'codepage' mount option. Leave it blank
++ or enter 'none' to disable filename converting.
++
++ Use full codepage name (for example 'cp1251' instead of '1251') here,
++ this allows to specify any character set, not only numbered one (like
++ 'iso8859-2').
++
++ If unsure, leave it blank.
++
++config ASFS_RW
++ bool "Amiga SFS write support (DANGEROUS)"
++ depends on ASFS_FS
++ help
++
++ If you say Y here, you will be able to write to ASFS file
++ systems as well as read from them. The read-write support in ASFS
++ is in beta stage. This means that useing it to write files to SFS
++ partitions is DANGEROUS and COULD corrupt the filesystem.
++
++ For more information read <file:Documentation/filesystems/asfs.txt>
++
++ If unsure, say N.
++
+ config HFS_FS
+ tristate "Apple Macintosh file system support (EXPERIMENTAL)"
+ depends on BLOCK && EXPERIMENTAL
+diff -Nur linux-2.6.19-rc6/fs/Makefile linux-2.6.19-rc6/fs/Makefile
+--- linux-2.6.19-rc6/fs/Makefile 2006-11-16 05:03:40.000000000 +0100
++++ linux-2.6.19-rc6/fs/Makefile 2006-11-24 18:19:03.000000000 +0100
+@@ -96,6 +96,7 @@
+ obj-$(CONFIG_JFFS_FS) += jffs/
+ obj-$(CONFIG_JFFS2_FS) += jffs2/
+ obj-$(CONFIG_AFFS_FS) += affs/
++obj-$(CONFIG_ASFS_FS) += asfs/
+ obj-$(CONFIG_ROMFS_FS) += romfs/
+ obj-$(CONFIG_QNX4FS_FS) += qnx4/
+ obj-$(CONFIG_AUTOFS_FS) += autofs/
+diff -Nur linux-2.6.19-rc6/fs/asfs/Changes linux-2.6.19-rc6/fs/asfs/Changes
+--- linux-2.6.19-rc6/fs/asfs/Changes 1970-01-01 01:00:00.000000000 +0100
++++ linux-2.6.19-rc6/fs/asfs/Changes 2006-11-24 18:19:03.000000000 +0100
+@@ -0,0 +1,116 @@
++
++Amiga Smart File System, Linux implementation
++
++Please direct bug reports to: marek@amiga.pl
++
++History:
++
++v1.0beta11 (22.09.2006)
++- adapted to 2.6.18 kernel VFS changes
++- made some functions static to reduce overhead in kernel namespace
++
++v1.0beta10 (13.06.2005)
++- fixed ugly bug introduced in beta9 that caused kernel crash on x86
++ (thanks to Emiliano for reporting it!)
++
++v1.0beta9 (17.03.2005)
++- added NLS support (thanks to Pavel Fedin!)
++
++v1.0beta8 (07.01.2005)
++- adapted to 2.6.10 kernel VFS changes
++- added workaround for buggy Mandrake kernel headers
++
++v1.0beta7 (25.06.2004)
++- small changes in documentation
++- code clean up: bitfuncs.c, super.c, inode.c, *.h, Makefile, added
++ asfs_ prefix to function names, made some functions static
++ (big thanks to Christoph Hellwig for advice!)
++- fixed minor bugs (inode leak in super.c, not-realesed buffer during
++ object renaming in inode.c)
++- now files/dirs are created with global ownership/permission bits
++
++v1.0beta6 (04.06.2004)
++- fixed: ASFS_SB(sb)->flags was always zero in 2.6.x code
++
++v1.0beta5 (07.05.2004)
++- finally fixed a problem with file size attrib. not being written
++ to disk
++- fixed some problems with GCC 3.x and debug enabled
++
++v1.0beta4 (12.04.2004)
++- removed dummy asfs_notify_change (this fixes major bug introduced
++ in 1.0beta3 - file size wasn't written to disk) until it will
++ be implemented completely
++
++v1.0beta3 (22.03.2004) - still beta
++- updated for 2.6.x kernels VFS changes
++- code clean-up
++- added dummy asfs_notify_change (chmod now returns no errors)
++- added symlinks write support
++- fixed: ASFS_SB(sb)->flags was always zero
++
++v1.0beta2 (11.01.2004) - special version for Pegasos][ kernel
++- separated read and write functions, can be compiled also
++ as read-only fs
++
++v1.0beta1 (02.12.2003) - first public beta with write support
++- added dentry hashing/comparing routines
++- code clean-up
++
++v1.0aplha4 (30.11.2003) - preparing for first public beta
++- fixed some problems with renaming/moving files
++- fixed two major bugs, which didn't occur when fs was mounted
++ on loopback device (newly allocated blocks were not written to
++ disk and state bits were not set correctly on newly mapped file
++ blocks)
++- fixed many small bugs in io code (some buffers were not freed)
++- added/modified sb locks in asfs_lookup and asfs_getblock
++- fixed serious bug in file block allocation routines
++
++v1.0aplha3 (23.11.2003)
++- added (hopefully) all byteswap code, should now work again on
++ little-endian systems (also with write support!)
++- updated documentation
++
++v1.0alpha2 (13.11.2003)
++- now alocates file blocks in chunks during one request
++- fixed some dead-locks, other fixes
++
++v1.0alpha (02.11.2003) - first working version with full write support
++- too much to list it here ;)
++
++... (working on write support)
++
++v0.7 (12.10.2003) - internal realase
++- added asfs_breadcheck, modified asfs_get_node, asfs_search_BTree,
++ no more from_be32/16 macros, other...
++- code splitted into several files
++
++v0.6 (04.09.2003) - final read-only version
++- added support for HashTables, directory scaning should be
++ MUCH faster now
++- added checking of block IDs before reading any data from block
++
++v0.5 (19.07.2003)
++- added simple but effective extent cache - real speed-up
++ in reading large files
++- added read support for symlinks - based on AFFS symlinks
++
++v0.4 (10.07.2003)
++- third code clean-up (thanks to Roman Zippel for advice)
++- now uses generic readpage and readinode routines
++
++v0.3beta (17.06.2003)
++- second code clean-up
++
++v0.2beta2 (15.06.2003)
++- fixed yet another stupid bug - driver can't read root block on little-endian systems
++v0.2beta (15.06.2003)
++- fixed stupid bug - now files have 'file' flag (S_IFREG) set...
++- added mount options to set uid, gid and mode of files and dirs
++- made hidden files & dirs really hidden (= not listed in directories)
++- code clean-up
++
++v0.1beta (11.06.2003)
++- after many kernel crashes, finally got it!
++- first working read-only filesystem driver
+diff -Nur linux-2.6.19-rc6/fs/asfs/Makefile linux-2.6.19-rc6/fs/asfs/Makefile
+--- linux-2.6.19-rc6/fs/asfs/Makefile 1970-01-01 01:00:00.000000000 +0100
++++ linux-2.6.19-rc6/fs/asfs/Makefile 2006-11-24 18:19:03.000000000 +0100
+@@ -0,0 +1,8 @@
++#
++# Makefile for the linux asfs filesystem routines.
++#
++
++obj-$(CONFIG_ASFS_FS) += asfs.o
++
++asfs-y += dir.o extents.o file.o inode.o namei.o nodes.o objects.o super.o symlink.o
++asfs-$(CONFIG_ASFS_RW) += adminspace.o bitfuncs.o
+diff -Nur linux-2.6.19-rc6/fs/asfs/adminspace.c linux-2.6.19-rc6/fs/asfs/adminspace.c
+--- linux-2.6.19-rc6/fs/asfs/adminspace.c 1970-01-01 01:00:00.000000000 +0100
++++ linux-2.6.19-rc6/fs/asfs/adminspace.c 2006-11-24 18:19:03.000000000 +0100
@@ -0,0 +1,446 @@
+/*
+ *
@@ -633,9 +833,9 @@ diff -urN linux-2.6.18/fs/asfs/adminspac
+}
+
+#endif
-diff -urN linux-2.6.18/fs/asfs/asfs_fs.h linux-2.6.18-asfs-1.0b11/fs/asfs/asfs_fs.h
---- linux-2.6.18/fs/asfs/asfs_fs.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.6.18-asfs-1.0b11/fs/asfs/asfs_fs.h 2006-09-22 23:18:03.000000000 +0200
+diff -Nur linux-2.6.19-rc6/fs/asfs/asfs_fs.h linux-2.6.19-rc6/fs/asfs/asfs_fs.h
+--- linux-2.6.19-rc6/fs/asfs/asfs_fs.h 1970-01-01 01:00:00.000000000 +0100
++++ linux-2.6.19-rc6/fs/asfs/asfs_fs.h 2006-11-24 18:19:03.000000000 +0100
@@ -0,0 +1,217 @@
+#ifndef __LINUX_ASFS_FS_H
+#define __LINUX_ASFS_FS_H
@@ -854,10 +1054,9 @@ diff -urN linux-2.6.18/fs/asfs/asfs_fs.h
+int asfs_write_symlink(struct inode *symfile, const char *symname);
+
+#endif
-Pliki binarne linux-2.6.18/fs/asfs/asfs.ko i linux-2.6.18-asfs-1.0b11/fs/asfs/asfs.ko się różnią
-diff -urN linux-2.6.18/fs/asfs/bitfuncs.c linux-2.6.18-asfs-1.0b11/fs/asfs/bitfuncs.c
---- linux-2.6.18/fs/asfs/bitfuncs.c 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.6.18-asfs-1.0b11/fs/asfs/bitfuncs.c 2006-09-22 22:52:37.000000000 +0200
+diff -Nur linux-2.6.19-rc6/fs/asfs/bitfuncs.c linux-2.6.19-rc6/fs/asfs/bitfuncs.c
+--- linux-2.6.19-rc6/fs/asfs/bitfuncs.c 1970-01-01 01:00:00.000000000 +0100
++++ linux-2.6.19-rc6/fs/asfs/bitfuncs.c 2006-11-24 18:19:03.000000000 +0100
@@ -0,0 +1,171 @@
+/*
+ *
@@ -1030,9 +1229,9 @@ diff -urN linux-2.6.18/fs/asfs/bitfuncs.
+ }
+ return (orgbits - bits);
+}
-diff -urN linux-2.6.18/fs/asfs/bitfuncs.h linux-2.6.18-asfs-1.0b11/fs/asfs/bitfuncs.h
---- linux-2.6.18/fs/asfs/bitfuncs.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.6.18-asfs-1.0b11/fs/asfs/bitfuncs.h 2006-09-22 22:52:37.000000000 +0200
+diff -Nur linux-2.6.19-rc6/fs/asfs/bitfuncs.h linux-2.6.19-rc6/fs/asfs/bitfuncs.h
+--- linux-2.6.19-rc6/fs/asfs/bitfuncs.h 1970-01-01 01:00:00.000000000 +0100
++++ linux-2.6.19-rc6/fs/asfs/bitfuncs.h 2006-11-24 18:19:03.000000000 +0100
@@ -0,0 +1,59 @@
+/*
+ *
@@ -1093,129 +1292,9 @@ diff -urN linux-2.6.18/fs/asfs/bitfuncs.
+int bmset(u32 *, int, int, int);
+
+#endif
-diff -urN linux-2.6.18/fs/asfs/Changes linux-2.6.18-asfs-1.0b11/fs/asfs/Changes
---- linux-2.6.18/fs/asfs/Changes 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.6.18-asfs-1.0b11/fs/asfs/Changes 2006-09-22 23:24:31.000000000 +0200
-@@ -0,0 +1,116 @@
-+
-+Amiga Smart File System, Linux implementation
-+
-+Please direct bug reports to: marek@amiga.pl
-+
-+History:
-+
-+v1.0beta11 (22.09.2006)
-+- adapted to 2.6.18 kernel VFS changes
-+- made some functions static to reduce overhead in kernel namespace
-+
-+v1.0beta10 (13.06.2005)
-+- fixed ugly bug introduced in beta9 that caused kernel crash on x86
-+ (thanks to Emiliano for reporting it!)
-+
-+v1.0beta9 (17.03.2005)
-+- added NLS support (thanks to Pavel Fedin!)
-+
-+v1.0beta8 (07.01.2005)
-+- adapted to 2.6.10 kernel VFS changes
-+- added workaround for buggy Mandrake kernel headers
-+
-+v1.0beta7 (25.06.2004)
-+- small changes in documentation
-+- code clean up: bitfuncs.c, super.c, inode.c, *.h, Makefile, added
-+ asfs_ prefix to function names, made some functions static
-+ (big thanks to Christoph Hellwig for advice!)
-+- fixed minor bugs (inode leak in super.c, not-realesed buffer during
-+ object renaming in inode.c)
-+- now files/dirs are created with global ownership/permission bits
-+
-+v1.0beta6 (04.06.2004)
-+- fixed: ASFS_SB(sb)->flags was always zero in 2.6.x code
-+
-+v1.0beta5 (07.05.2004)
-+- finally fixed a problem with file size attrib. not being written
-+ to disk
-+- fixed some problems with GCC 3.x and debug enabled
-+
-+v1.0beta4 (12.04.2004)
-+- removed dummy asfs_notify_change (this fixes major bug introduced
-+ in 1.0beta3 - file size wasn't written to disk) until it will
-+ be implemented completely
-+
-+v1.0beta3 (22.03.2004) - still beta
-+- updated for 2.6.x kernels VFS changes
-+- code clean-up
-+- added dummy asfs_notify_change (chmod now returns no errors)
-+- added symlinks write support
-+- fixed: ASFS_SB(sb)->flags was always zero
-+
-+v1.0beta2 (11.01.2004) - special version for Pegasos][ kernel
-+- separated read and write functions, can be compiled also
-+ as read-only fs
-+
-+v1.0beta1 (02.12.2003) - first public beta with write support
-+- added dentry hashing/comparing routines
-+- code clean-up
-+
-+v1.0aplha4 (30.11.2003) - preparing for first public beta
-+- fixed some problems with renaming/moving files
-+- fixed two major bugs, which didn't occur when fs was mounted
-+ on loopback device (newly allocated blocks were not written to
-+ disk and state bits were not set correctly on newly mapped file
-+ blocks)
-+- fixed many small bugs in io code (some buffers were not freed)
-+- added/modified sb locks in asfs_lookup and asfs_getblock
-+- fixed serious bug in file block allocation routines
-+
-+v1.0aplha3 (23.11.2003)
-+- added (hopefully) all byteswap code, should now work again on
-+ little-endian systems (also with write support!)
-+- updated documentation
-+
-+v1.0alpha2 (13.11.2003)
-+- now alocates file blocks in chunks during one request
-+- fixed some dead-locks, other fixes
-+
-+v1.0alpha (02.11.2003) - first working version with full write support
-+- too much to list it here ;)
-+
-+... (working on write support)
-+
-+v0.7 (12.10.2003) - internal realase
-+- added asfs_breadcheck, modified asfs_get_node, asfs_search_BTree,
-+ no more from_be32/16 macros, other...
-+- code splitted into several files
-+
-+v0.6 (04.09.2003) - final read-only version
-+- added support for HashTables, directory scaning should be
-+ MUCH faster now
-+- added checking of block IDs before reading any data from block
-+
-+v0.5 (19.07.2003)
-+- added simple but effective extent cache - real speed-up
-+ in reading large files
-+- added read support for symlinks - based on AFFS symlinks
-+
-+v0.4 (10.07.2003)
-+- third code clean-up (thanks to Roman Zippel for advice)
-+- now uses generic readpage and readinode routines
-+
-+v0.3beta (17.06.2003)
-+- second code clean-up
-+
-+v0.2beta2 (15.06.2003)
-+- fixed yet another stupid bug - driver can't read root block on little-endian systems
-+v0.2beta (15.06.2003)
-+- fixed stupid bug - now files have 'file' flag (S_IFREG) set...
-+- added mount options to set uid, gid and mode of files and dirs
-+- made hidden files & dirs really hidden (= not listed in directories)
-+- code clean-up
-+
-+v0.1beta (11.06.2003)
-+- after many kernel crashes, finally got it!
-+- first working read-only filesystem driver
-diff -urN linux-2.6.18/fs/asfs/dir.c linux-2.6.18-asfs-1.0b11/fs/asfs/dir.c
---- linux-2.6.18/fs/asfs/dir.c 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.6.18-asfs-1.0b11/fs/asfs/dir.c 2006-09-22 22:52:37.000000000 +0200
+diff -Nur linux-2.6.19-rc6/fs/asfs/dir.c linux-2.6.19-rc6/fs/asfs/dir.c
+--- linux-2.6.19-rc6/fs/asfs/dir.c 1970-01-01 01:00:00.000000000 +0100
++++ linux-2.6.19-rc6/fs/asfs/dir.c 2006-11-24 18:19:03.000000000 +0100
@@ -0,0 +1,240 @@
+/*
+ *
@@ -1457,9 +1536,9 @@ diff -urN linux-2.6.18/fs/asfs/dir.c lin
+ d_add(dentry, inode);
+ return ERR_PTR(res);
+}
-diff -urN linux-2.6.18/fs/asfs/extents.c linux-2.6.18-asfs-1.0b11/fs/asfs/extents.c
---- linux-2.6.18/fs/asfs/extents.c 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.6.18-asfs-1.0b11/fs/asfs/extents.c 2006-09-22 23:22:48.000000000 +0200
+diff -Nur linux-2.6.19-rc6/fs/asfs/extents.c linux-2.6.19-rc6/fs/asfs/extents.c
+--- linux-2.6.19-rc6/fs/asfs/extents.c 1970-01-01 01:00:00.000000000 +0100
++++ linux-2.6.19-rc6/fs/asfs/extents.c 2006-11-24 18:19:03.000000000 +0100
@@ -0,0 +1,586 @@
+/*
+ *
@@ -2047,9 +2126,9 @@ diff -urN linux-2.6.18/fs/asfs/extents.c
+ return errorcode;
+}
+#endif
-diff -urN linux-2.6.18/fs/asfs/file.c linux-2.6.18-asfs-1.0b11/fs/asfs/file.c
---- linux-2.6.18/fs/asfs/file.c 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.6.18-asfs-1.0b11/fs/asfs/file.c 2006-09-22 22:52:37.000000000 +0200
+diff -Nur linux-2.6.19-rc6/fs/asfs/file.c linux-2.6.19-rc6/fs/asfs/file.c
+--- linux-2.6.19-rc6/fs/asfs/file.c 1970-01-01 01:00:00.000000000 +0100
++++ linux-2.6.19-rc6/fs/asfs/file.c 2006-11-24 18:19:03.000000000 +0100
@@ -0,0 +1,251 @@
+/*
+ *
@@ -2302,9 +2381,9 @@ diff -urN linux-2.6.18/fs/asfs/file.c li
+}
+
+#endif
-diff -urN linux-2.6.18/fs/asfs/inode.c linux-2.6.18-asfs-1.0b11/fs/asfs/inode.c
---- linux-2.6.18/fs/asfs/inode.c 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.6.18-asfs-1.0b11/fs/asfs/inode.c 2006-09-22 23:22:35.000000000 +0200
+diff -Nur linux-2.6.19-rc6/fs/asfs/inode.c linux-2.6.19-rc6/fs/asfs/inode.c
+--- linux-2.6.19-rc6/fs/asfs/inode.c 1970-01-01 01:00:00.000000000 +0100
++++ linux-2.6.19-rc6/fs/asfs/inode.c 2006-11-24 18:19:03.000000000 +0100
@@ -0,0 +1,436 @@
+/*
+ *
@@ -2742,21 +2821,9 @@ diff -urN linux-2.6.18/fs/asfs/inode.c l
+}
+*/
+#endif
-diff -urN linux-2.6.18/fs/asfs/Makefile linux-2.6.18-asfs-1.0b11/fs/asfs/Makefile
---- linux-2.6.18/fs/asfs/Makefile 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.6.18-asfs-1.0b11/fs/asfs/Makefile 2006-09-22 22:52:37.000000000 +0200
-@@ -0,0 +1,8 @@
-+#
-+# Makefile for the linux asfs filesystem routines.
-+#
-+
-+obj-$(CONFIG_ASFS_FS) += asfs.o
-+
-+asfs-y += dir.o extents.o file.o inode.o namei.o nodes.o objects.o super.o symlink.o
-+asfs-$(CONFIG_ASFS_RW) += adminspace.o bitfuncs.o
-diff -urN linux-2.6.18/fs/asfs/namei.c linux-2.6.18-asfs-1.0b11/fs/asfs/namei.c
---- linux-2.6.18/fs/asfs/namei.c 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.6.18-asfs-1.0b11/fs/asfs/namei.c 2006-09-22 22:52:37.000000000 +0200
+diff -Nur linux-2.6.19-rc6/fs/asfs/namei.c linux-2.6.19-rc6/fs/asfs/namei.c
+--- linux-2.6.19-rc6/fs/asfs/namei.c 1970-01-01 01:00:00.000000000 +0100
++++ linux-2.6.19-rc6/fs/asfs/namei.c 2006-11-24 18:19:03.000000000 +0100
@@ -0,0 +1,197 @@
+/*
+ *
@@ -2955,9 +3022,9 @@ diff -urN linux-2.6.18/fs/asfs/namei.c l
+ to[limit-1] = '\0';
+ }
+}
-diff -urN linux-2.6.18/fs/asfs/nodes.c linux-2.6.18-asfs-1.0b11/fs/asfs/nodes.c
---- linux-2.6.18/fs/asfs/nodes.c 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.6.18-asfs-1.0b11/fs/asfs/nodes.c 2006-09-22 22:52:37.000000000 +0200
+diff -Nur linux-2.6.19-rc6/fs/asfs/nodes.c linux-2.6.19-rc6/fs/asfs/nodes.c
+--- linux-2.6.19-rc6/fs/asfs/nodes.c 1970-01-01 01:00:00.000000000 +0100
++++ linux-2.6.19-rc6/fs/asfs/nodes.c 2006-11-24 18:19:03.000000000 +0100
@@ -0,0 +1,455 @@
+/*
+ *
@@ -3414,9 +3481,9 @@ diff -urN linux-2.6.18/fs/asfs/nodes.c l
+}
+
+#endif
-diff -urN linux-2.6.18/fs/asfs/objects.c linux-2.6.18-asfs-1.0b11/fs/asfs/objects.c
---- linux-2.6.18/fs/asfs/objects.c 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.6.18-asfs-1.0b11/fs/asfs/objects.c 2006-09-22 23:22:42.000000000 +0200
+diff -Nur linux-2.6.19-rc6/fs/asfs/objects.c linux-2.6.19-rc6/fs/asfs/objects.c
+--- linux-2.6.19-rc6/fs/asfs/objects.c 1970-01-01 01:00:00.000000000 +0100
++++ linux-2.6.19-rc6/fs/asfs/objects.c 2006-11-24 18:19:03.000000000 +0100
@@ -0,0 +1,765 @@
+/*
+ *
@@ -4183,9 +4250,9 @@ diff -urN linux-2.6.18/fs/asfs/objects.c
+ return 0;
+}
+#endif
-diff -urN linux-2.6.18/fs/asfs/super.c linux-2.6.18-asfs-1.0b11/fs/asfs/super.c
---- linux-2.6.18/fs/asfs/super.c 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.6.18-asfs-1.0b11/fs/asfs/super.c 2006-09-22 23:22:22.000000000 +0200
+diff -Nur linux-2.6.19-rc6/fs/asfs/super.c linux-2.6.19-rc6/fs/asfs/super.c
+--- linux-2.6.19-rc6/fs/asfs/super.c 1970-01-01 01:00:00.000000000 +0100
++++ linux-2.6.19-rc6/fs/asfs/super.c 2006-11-24 18:19:03.000000000 +0100
@@ -0,0 +1,497 @@
+/*
+ *
@@ -4684,9 +4751,9 @@ diff -urN linux-2.6.18/fs/asfs/super.c l
+
+module_init(init_asfs_fs)
+module_exit(exit_asfs_fs)
-diff -urN linux-2.6.18/fs/asfs/symlink.c linux-2.6.18-asfs-1.0b11/fs/asfs/symlink.c
---- linux-2.6.18/fs/asfs/symlink.c 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.6.18-asfs-1.0b11/fs/asfs/symlink.c 2006-09-22 22:52:37.000000000 +0200
+diff -Nur linux-2.6.19-rc6/fs/asfs/symlink.c linux-2.6.19-rc6/fs/asfs/symlink.c
+--- linux-2.6.19-rc6/fs/asfs/symlink.c 1970-01-01 01:00:00.000000000 +0100
++++ linux-2.6.19-rc6/fs/asfs/symlink.c 2006-11-24 18:19:03.000000000 +0100
@@ -0,0 +1,235 @@
+/*
+ *
@@ -4923,77 +4990,8 @@ diff -urN linux-2.6.18/fs/asfs/symlink.c
+}
+
+#endif
-diff -urN linux-2.6.18/fs/Kconfig linux-2.6.18-asfs-1.0b11/fs/Kconfig
---- linux-2.6.18/fs/Kconfig 2006-09-22 22:48:22.000000000 +0200
-+++ linux-2.6.18-asfs-1.0b11/fs/Kconfig 2006-09-22 22:52:37.000000000 +0200
-@@ -955,6 +955,53 @@
- To compile this file system support as a module, choose M here: the
- module will be called affs. If unsure, say N.
-
-+config ASFS_FS
-+ tristate "Amiga SFS file system support (EXPERIMENTAL)"
-+ select NLS
-+ depends on EXPERIMENTAL
-+ help
-+
-+ The Amiga Smart FileSystem (SFS) is the file system used on hard
-+ disks by Amiga(tm) and MorphOS(tm) systems. Say Y if you want
-+ to be able to read files from an Amiga SFS partition on your hard
-+ drive.
-+
-+ For more information read <file:Documentation/filesystems/asfs.txt>
-+
-+ To compile this file system support as a module, choose M here: the
-+ module will be called asfs.
-+
-+ If unsure, say N.
-+
-+config ASFS_DEFAULT_CODEPAGE
-+ string "Default codepage for SFS"
-+ depends on ASFS_FS
-+ default ""
-+ help
-+ This option should be set to the codepage of your SFS filesystems.
-+ It can be overridden with the 'codepage' mount option. Leave it blank
-+ or enter 'none' to disable filename converting.
-+
-+ Use full codepage name (for example 'cp1251' instead of '1251') here,
-+ this allows to specify any character set, not only numbered one (like
-+ 'iso8859-2').
-+
-+ If unsure, leave it blank.
-+
-+config ASFS_RW
-+ bool "Amiga SFS write support (DANGEROUS)"
-+ depends on ASFS_FS
-+ help
-+
-+ If you say Y here, you will be able to write to ASFS file
-+ systems as well as read from them. The read-write support in ASFS
-+ is in beta stage. This means that useing it to write files to SFS
-+ partitions is DANGEROUS and COULD corrupt the filesystem.
-+
-+ For more information read <file:Documentation/filesystems/asfs.txt>
-+
-+ If unsure, say N.
-+
- config HFS_FS
- tristate "Apple Macintosh file system support (EXPERIMENTAL)"
- depends on EXPERIMENTAL
-diff -urN linux-2.6.18/fs/Makefile linux-2.6.18-asfs-1.0b11/fs/Makefile
---- linux-2.6.18/fs/Makefile 2006-09-22 22:48:22.000000000 +0200
-+++ linux-2.6.18-asfs-1.0b11/fs/Makefile 2006-09-22 22:52:37.000000000 +0200
-@@ -85,6 +85,7 @@
- obj-$(CONFIG_JFFS_FS) += jffs/
- obj-$(CONFIG_JFFS2_FS) += jffs2/
- obj-$(CONFIG_AFFS_FS) += affs/
-+obj-$(CONFIG_ASFS_FS) += asfs/
- obj-$(CONFIG_ROMFS_FS) += romfs/
- obj-$(CONFIG_QNX4FS_FS) += qnx4/
- obj-$(CONFIG_AUTOFS_FS) += autofs/
-diff -urN linux-2.6.18/include/linux/amigasfs.h linux-2.6.18-asfs-1.0b11/include/linux/amigasfs.h
---- linux-2.6.18/include/linux/amigasfs.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.6.18-asfs-1.0b11/include/linux/amigasfs.h 2006-09-22 22:52:37.000000000 +0200
+--- linux-2.6.19-rc6/include/linux/amigasfs.h 1970-01-01 01:00:00.000000000 +0100
++++ linux-2.6.19-rc6/include/linux/amigasfs.h 2006-11-24 18:19:03.000000000 +0100
@@ -0,0 +1,276 @@
+#ifndef __LINUX_AMIGASFS_H
+#define __LINUX_AMIGASFS_H
@@ -5271,6 +5269,3 @@ diff -urN linux-2.6.18/include/linux/ami
+};
+
+#endif
-
-
-
--- a/2.6.18/5000_grml-version.patch Sat Nov 25 22:28:17 2006 +0100
+++ b/2.6.18/5000_grml-version.patch Sun Nov 26 11:04:54 2006 +0100
@@ -4,7 +4,7 @@
VERSION = 2
PATCHLEVEL = 6
SUBLEVEL = 18
--EXTRAVERSION = .2
+-EXTRAVERSION = .3
+EXTRAVERSION = -grml
NAME=Avast! A bilge rat!
--- a/config/config-2.6.18-grml Sat Nov 25 22:28:17 2006 +0100
+++ b/config/config-2.6.18-grml Sun Nov 26 11:04:54 2006 +0100
@@ -1,7 +1,7 @@
#
# Automatically generated make config: don't edit
# Linux kernel version: 2.6.18-grml
-# Tue Nov 7 18:55:26 2006
+# Sun Nov 26 00:09:15 2006
#
CONFIG_X86_32=y
CONFIG_GENERIC_TIME=y
@@ -1211,12 +1211,14 @@ CONFIG_SCSI_LOGGING=y
CONFIG_SCSI_LOGGING=y
#
-# SCSI Transport Attributes
+# SCSI Transport
#
CONFIG_SCSI_SPI_ATTRS=y
CONFIG_SCSI_FC_ATTRS=y
CONFIG_SCSI_ISCSI_ATTRS=y
CONFIG_SCSI_SAS_ATTRS=y
+CONFIG_SCSI_SAS_LIBSAS=y
+CONFIG_SCSI_SAS_LIBSAS_DEBUG=y
#
# SCSI low-level drivers
@@ -1246,6 +1248,8 @@ CONFIG_AIC79XX_DEBUG_ENABLE=y
CONFIG_AIC79XX_DEBUG_ENABLE=y
CONFIG_AIC79XX_DEBUG_MASK=0
CONFIG_AIC79XX_REG_PRETTY_PRINT=y
+CONFIG_SCSI_AIC94XX=m
+CONFIG_AIC94XX_DEBUG=y
CONFIG_SCSI_DPT_I2O=m
CONFIG_SCSI_ADVANSYS=m
CONFIG_SCSI_IN2000=m
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/2.6.18/2300_UCR-61S2B-unusual_dev-update.patch Sun Nov 26 11:04:54 2006 +0100
@@ -0,0 +1,30 @@
+From: Phil Dibowitz <phil@ipom.com>
+Date: Fri, 3 Nov 2006 07:14:10 +0000 (-0800)
+Subject: USB: Fix UCR-61S2B unusual_dev entry
+X-Git-Url: http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commitdiff;h=51b5bce8c253b82d4789161cc3b0c74bee313bb1
+
+USB: Fix UCR-61S2B unusual_dev entry
+
+Recently this entry's bcd scope was narrowed so as not to falsly apply
+to bcd's other than 0x0110. But while it breaks those of a larger bcd,
+it is still needed for those of a smaller bcd - so this changes the
+lower bcd limit to 0x0000.
+
+Signed-off-by: Phil Dibowitz <phil@ipom.com>
+Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
+---
+
+--- a/drivers/usb/storage/unusual_devs.h
++++ b/drivers/usb/storage/unusual_devs.h
+@@ -1323,8 +1323,10 @@ UNUSUAL_DEV( 0x0fce, 0xe030, 0x0000, 0x
+ /* Reported by Kevin Cernekee <kpc-usbdev@gelato.uiuc.edu>
+ * Tested on hardware version 1.10.
+ * Entry is needed only for the initializer function override.
++ * Devices with bcd > 110 seem to not need it while those
++ * with bcd < 110 appear to need it.
+ */
+-UNUSUAL_DEV( 0x1019, 0x0c55, 0x0110, 0x0110,
++UNUSUAL_DEV( 0x1019, 0x0c55, 0x0000, 0x0110,
+ "Desknote",
+ "UCR-61S2B",
+ US_SC_DEVICE, US_PR_DEVICE, usb_stor_ucr61s2b_init,
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/2.6.18/2410_bcm43xx-drain-tx-status-before-starting-irqs.patch Sun Nov 26 11:04:54 2006 +0100
@@ -0,0 +1,57 @@
+From stable-bounces@linux.kernel.org Sun Nov 5 13:38:59 2006
+Date: Sun, 05 Nov 2006 15:34:36 -0600
+From: Larry Finger <Larry.Finger@lwfinger.net>
+To: stable@kernel.org
+Message-ID: <454E58EC.mail20S110EOC@lwfinger.net>
+Cc: netdev@vger.kernel.org, mb@bu3sch.de, greg@kroah.com
+Subject: bcm43xx: Drain TX status before starting IRQs
+
+From: Michael Buesch <mb@bu3sch.de>
+
+Drain the Microcode TX-status-FIFO before we enable IRQs.
+This is required, because the FIFO may still have entries left
+from a previous run. Those would immediately fire after enabling
+IRQs and would lead to an oops in the DMA TXstatus handling code.
+
+Cc: "John W. Linville" <linville@tuxdriver.com>
+Signed-off-by: Michael Buesch <mb@bu3sch.de>
+Signed-off-by: Larry Finger <Larry.Finger@lwfinger.net>
+Signed-off-by: Chris Wright <chrisw@sous-sol.org>
+---
+ drivers/net/wireless/bcm43xx/bcm43xx_main.c | 18 ++++++++++++++++++
+ 1 file changed, 18 insertions(+)
+
+--- linux-2.6.18.2.orig/drivers/net/wireless/bcm43xx/bcm43xx_main.c
++++ linux-2.6.18.2/drivers/net/wireless/bcm43xx/bcm43xx_main.c
+@@ -1463,6 +1463,23 @@ static void handle_irq_transmit_status(s
+ }
+ }
+
++static void drain_txstatus_queue(struct bcm43xx_private *bcm)
++{
++ u32 dummy;
++
++ if (bcm->current_core->rev < 5)
++ return;
++ /* Read all entries from the microcode TXstatus FIFO
++ * and throw them away.
++ */
++ while (1) {
++ dummy = bcm43xx_read32(bcm, BCM43xx_MMIO_XMITSTAT_0);
++ if (!dummy)
++ break;
++ dummy = bcm43xx_read32(bcm, BCM43xx_MMIO_XMITSTAT_1);
++ }
++}
++
+ static void bcm43xx_generate_noise_sample(struct bcm43xx_private *bcm)
+ {
+ bcm43xx_shm_write16(bcm, BCM43xx_SHM_SHARED, 0x408, 0x7F7F);
+@@ -3517,6 +3534,7 @@ int bcm43xx_select_wireless_core(struct
+ bcm43xx_macfilter_clear(bcm, BCM43xx_MACFILTER_ASSOC);
+ bcm43xx_macfilter_set(bcm, BCM43xx_MACFILTER_SELF, (u8 *)(bcm->net_dev->dev_addr));
+ bcm43xx_security_init(bcm);
++ drain_txstatus_queue(bcm);
+ ieee80211softmac_start(bcm->net_dev);
+
+ /* Let's go! Be careful after enabling the IRQs.
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/2.6.18/2420_sctp-backports-1.patch Sun Nov 26 11:04:54 2006 +0100
@@ -0,0 +1,331 @@
+From: Sridhar Samudrala <sri@us.ibm.com>
+Date: Tue, 22 Aug 2006 07:15:33 +0000 (-0700)
+Subject: [SCTP]: Extend /proc/net/sctp/snmp to provide more statistics.
+X-Git-Tag: v2.6.19-rc1
+X-Git-Url: http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commitdiff;h=ac0b04627269ff16c3c7ab854a65fe6780c6e3e5
+
+[SCTP]: Extend /proc/net/sctp/snmp to provide more statistics.
+
+This patch adds more statistics info under /proc/net/sctp/snmp
+that should be useful for debugging. The additional events that
+are counted now include timer expirations, retransmits, packet
+and data chunk discards.
+
+The Data chunk discards include all the cases where a data chunk
+is discarded including high tsn, bad stream, dup tsn and the most
+useful one(out of receive buffer/rwnd).
+
+Also moved the SCTP MIB data structures from the generic include
+directories to include/sctp/sctp.h.
+
+Signed-off-by: Sridhar Samudrala <sri@us.ibm.com>
+Signed-off-by: David S. Miller <davem@davemloft.net>
+---
+
+--- a/include/linux/snmp.h
++++ b/include/linux/snmp.h
+@@ -160,39 +160,6 @@ enum
+ __UDP_MIB_MAX
+ };
+
+-/* sctp mib definitions */
+-/*
+- * draft-ietf-sigtran-sctp-mib-07.txt
+- */
+-enum
+-{
+- SCTP_MIB_NUM = 0,
+- SCTP_MIB_CURRESTAB, /* CurrEstab */
+- SCTP_MIB_ACTIVEESTABS, /* ActiveEstabs */
+- SCTP_MIB_PASSIVEESTABS, /* PassiveEstabs */
+- SCTP_MIB_ABORTEDS, /* Aborteds */
+- SCTP_MIB_SHUTDOWNS, /* Shutdowns */
+- SCTP_MIB_OUTOFBLUES, /* OutOfBlues */
+- SCTP_MIB_CHECKSUMERRORS, /* ChecksumErrors */
+- SCTP_MIB_OUTCTRLCHUNKS, /* OutCtrlChunks */
+- SCTP_MIB_OUTORDERCHUNKS, /* OutOrderChunks */
+- SCTP_MIB_OUTUNORDERCHUNKS, /* OutUnorderChunks */
+- SCTP_MIB_INCTRLCHUNKS, /* InCtrlChunks */
+- SCTP_MIB_INORDERCHUNKS, /* InOrderChunks */
+- SCTP_MIB_INUNORDERCHUNKS, /* InUnorderChunks */
+- SCTP_MIB_FRAGUSRMSGS, /* FragUsrMsgs */
+- SCTP_MIB_REASMUSRMSGS, /* ReasmUsrMsgs */
+- SCTP_MIB_OUTSCTPPACKS, /* OutSCTPPacks */
+- SCTP_MIB_INSCTPPACKS, /* InSCTPPacks */
+- SCTP_MIB_RTOALGORITHM, /* RtoAlgorithm */
+- SCTP_MIB_RTOMIN, /* RtoMin */
+- SCTP_MIB_RTOMAX, /* RtoMax */
+- SCTP_MIB_RTOINITIAL, /* RtoInitial */
+- SCTP_MIB_VALCOOKIELIFE, /* ValCookieLife */
+- SCTP_MIB_MAXINITRETR, /* MaxInitRetr */
+- __SCTP_MIB_MAX
+-};
+-
+ /* linux mib definitions */
+ enum
+ {
+--- a/include/net/sctp/sctp.h
++++ b/include/net/sctp/sctp.h
+@@ -216,6 +216,50 @@ DECLARE_SNMP_STAT(struct sctp_mib, sctp_
+
+ #endif /* !TEST_FRAME */
+
++/* sctp mib definitions */
++enum
++{
++ SCTP_MIB_NUM = 0,
++ SCTP_MIB_CURRESTAB, /* CurrEstab */
++ SCTP_MIB_ACTIVEESTABS, /* ActiveEstabs */
++ SCTP_MIB_PASSIVEESTABS, /* PassiveEstabs */
++ SCTP_MIB_ABORTEDS, /* Aborteds */
++ SCTP_MIB_SHUTDOWNS, /* Shutdowns */
++ SCTP_MIB_OUTOFBLUES, /* OutOfBlues */
++ SCTP_MIB_CHECKSUMERRORS, /* ChecksumErrors */
++ SCTP_MIB_OUTCTRLCHUNKS, /* OutCtrlChunks */
++ SCTP_MIB_OUTORDERCHUNKS, /* OutOrderChunks */
++ SCTP_MIB_OUTUNORDERCHUNKS, /* OutUnorderChunks */
++ SCTP_MIB_INCTRLCHUNKS, /* InCtrlChunks */
++ SCTP_MIB_INORDERCHUNKS, /* InOrderChunks */
++ SCTP_MIB_INUNORDERCHUNKS, /* InUnorderChunks */
++ SCTP_MIB_FRAGUSRMSGS, /* FragUsrMsgs */
++ SCTP_MIB_REASMUSRMSGS