diff --git a/debian/changelog b/debian/changelog index eb5679466..c251afab7 100644 --- a/debian/changelog +++ b/debian/changelog @@ -25,6 +25,8 @@ linux-2.6 (2.6.23-1~experimental.1) UNRELEASED; urgency=low * Add git-ieee1394.patch for latest firewire fixes. * [ipv6] Enable IPV6_MULTIPLE_TABLES, IPV6_SUBTREES. (closes: #441226) * Add and enable E1000E. + * Add stable release 2.6.23.1: + - libata: sata_mv: more S/G fixes [ Martin Michlmayr ] * [mips] Add a bcm1480 PCI build fix. @@ -97,7 +99,7 @@ linux-2.6 (2.6.23-1~experimental.1) UNRELEASED; urgency=low [ dann frazier ] * [ia64] Re-enable various unintentionally disabled config options - -- dann frazier Thu, 11 Oct 2007 23:17:17 -0600 + -- maximilian attems Sat, 13 Oct 2007 14:37:28 +0200 linux-2.6 (2.6.22-5) unstable; urgency=low diff --git a/debian/patches/bugfix/all/2.6.23.1 b/debian/patches/bugfix/all/2.6.23.1 new file mode 100644 index 000000000..95da5dbde --- /dev/null +++ b/debian/patches/bugfix/all/2.6.23.1 @@ -0,0 +1,95 @@ +diff --git a/drivers/ata/sata_mv.c b/drivers/ata/sata_mv.c +index cb7dec9..d9832e2 100644 +--- a/drivers/ata/sata_mv.c ++++ b/drivers/ata/sata_mv.c +@@ -69,10 +69,11 @@ + #include + #include + #include ++#include + #include + + #define DRV_NAME "sata_mv" +-#define DRV_VERSION "1.0" ++#define DRV_VERSION "1.01" + + enum { + /* BAR's are enumerated in terms of pci_resource_start() terms */ +@@ -420,6 +421,7 @@ static void mv_error_handler(struct ata_port *ap); + static void mv_post_int_cmd(struct ata_queued_cmd *qc); + static void mv_eh_freeze(struct ata_port *ap); + static void mv_eh_thaw(struct ata_port *ap); ++static int mv_slave_config(struct scsi_device *sdev); + static int mv_init_one(struct pci_dev *pdev, const struct pci_device_id *ent); + + static void mv5_phy_errata(struct mv_host_priv *hpriv, void __iomem *mmio, +@@ -457,7 +459,7 @@ static struct scsi_host_template mv5_sht = { + .use_clustering = 1, + .proc_name = DRV_NAME, + .dma_boundary = MV_DMA_BOUNDARY, +- .slave_configure = ata_scsi_slave_config, ++ .slave_configure = mv_slave_config, + .slave_destroy = ata_scsi_slave_destroy, + .bios_param = ata_std_bios_param, + }; +@@ -475,7 +477,7 @@ static struct scsi_host_template mv6_sht = { + .use_clustering = 1, + .proc_name = DRV_NAME, + .dma_boundary = MV_DMA_BOUNDARY, +- .slave_configure = ata_scsi_slave_config, ++ .slave_configure = mv_slave_config, + .slave_destroy = ata_scsi_slave_destroy, + .bios_param = ata_std_bios_param, + }; +@@ -763,6 +765,17 @@ static void mv_irq_clear(struct ata_port *ap) + { + } + ++static int mv_slave_config(struct scsi_device *sdev) ++{ ++ int rc = ata_scsi_slave_config(sdev); ++ if (rc) ++ return rc; ++ ++ blk_queue_max_phys_segments(sdev->request_queue, MV_MAX_SG_CT / 2); ++ ++ return 0; /* scsi layer doesn't check return value, sigh */ ++} ++ + static void mv_set_edma_ptrs(void __iomem *port_mmio, + struct mv_host_priv *hpriv, + struct mv_port_priv *pp) +@@ -1130,10 +1143,9 @@ static void mv_port_stop(struct ata_port *ap) + * LOCKING: + * Inherited from caller. + */ +-static unsigned int mv_fill_sg(struct ata_queued_cmd *qc) ++static void mv_fill_sg(struct ata_queued_cmd *qc) + { + struct mv_port_priv *pp = qc->ap->private_data; +- unsigned int n_sg = 0; + struct scatterlist *sg; + struct mv_sg *mv_sg; + +@@ -1151,7 +1163,7 @@ static unsigned int mv_fill_sg(struct ata_queued_cmd *qc) + + mv_sg->addr = cpu_to_le32(addr & 0xffffffff); + mv_sg->addr_hi = cpu_to_le32((addr >> 16) >> 16); +- mv_sg->flags_size = cpu_to_le32(len); ++ mv_sg->flags_size = cpu_to_le32(len & 0xffff); + + sg_len -= len; + addr += len; +@@ -1160,12 +1172,9 @@ static unsigned int mv_fill_sg(struct ata_queued_cmd *qc) + mv_sg->flags_size |= cpu_to_le32(EPRD_FLAG_END_OF_TBL); + + mv_sg++; +- n_sg++; + } + + } +- +- return n_sg; + } + + static inline void mv_crqb_pack_cmd(__le16 *cmdw, u8 data, u8 addr, unsigned last) diff --git a/debian/patches/series/1~experimental.1 b/debian/patches/series/1~experimental.1 index 663e1c905..918e06ed3 100644 --- a/debian/patches/series/1~experimental.1 +++ b/debian/patches/series/1~experimental.1 @@ -45,3 +45,4 @@ + features/all/v7-iwlwifi-add-iwlwifi-wireless-drivers.patch + features/all/e1000e-20070806.patch + features/all/e1000e-fixes.patch ++ bugfix/all/2.6.23.1