From 84be699b724ebdfc0667806b8cb778f0f88141c8 Mon Sep 17 00:00:00 2001 From: "Andreas V. 'netrunner' Meier" Date: Wed, 27 Oct 2004 03:38:04 +0000 Subject: [PATCH] Andreas V. Meier: update linux=linux26(2.6.9) linux-2.6.9: qla2xxx-inline-reorder.patch reorder the inline functions so they can be called as needed [2004101914121413611] (https://www.rocklinux.net/submaster) git-svn-id: http://www.rocklinux.org/svn/rock-linux/trunk@4617 c5f82cb5-29bc-0310-9cd0-bff59a50e3bc --- package/base/linux/linux.desc | 6 +- .../linux26/qla2xxx-inline-reorder.patch | 185 ++++++++++++++++++ 2 files changed, 188 insertions(+), 3 deletions(-) create mode 100644 package/base/linux/linux26/qla2xxx-inline-reorder.patch diff --git a/package/base/linux/linux.desc b/package/base/linux/linux.desc index a9ae24047..227166bf9 100644 --- a/package/base/linux/linux.desc +++ b/package/base/linux/linux.desc @@ -50,9 +50,9 @@ #endif #if xpkg == linux26.* -[V] 2.6.8.1 -[D] 3370829530 linux-2.6.8.1.tar.bz2 ftp://ftp.kernel.org/pub/linux/kernel/v2.6/ -[D] 2989845998 patch-2.6.7-pa15.gz http://cvs.parisc-linux.org/download/linux-2.6/ +[V] 2.6.9 +[D] 1893071861 linux-2.6.9.tar.bz2 ftp://ftp.kernel.org/pub/linux/kernel/v2.6/ +[D] 1816344469 patch-2.6.9-pa0.gz http://cvs.parisc-linux.org/download/linux-2.6/ #endif [CD] for x in $cachedir/linux2[46].cache; do cp $x $confdir/$pkg.cache; done diff --git a/package/base/linux/linux26/qla2xxx-inline-reorder.patch b/package/base/linux/linux26/qla2xxx-inline-reorder.patch new file mode 100644 index 000000000..116a1fc20 --- /dev/null +++ b/package/base/linux/linux26/qla2xxx-inline-reorder.patch @@ -0,0 +1,185 @@ +diff -ruN linux-2.6.9/drivers/scsi/qla2xxx/qla_os.c linux-2.6.9-new/drivers/scsi/qla2xxx/qla_os.c +--- linux-2.6.9/drivers/scsi/qla2xxx/qla_os.c 2004-10-18 23:55:29.000000000 +0200 ++++ linux-2.6.9-new/drivers/scsi/qla2xxx/qla_os.c 2004-10-19 12:18:38.573385688 +0200 +@@ -235,67 +235,6 @@ + static __inline__ void + qla2x00_delete_from_done_queue(scsi_qla_host_t *, srb_t *); + +-/************************************************************************** +-* sp_put +-* +-* Description: +-* Decrement reference count and call the callback if we're the last +-* owner of the specified sp. Will get the host_lock before calling +-* the callback. +-* +-* Input: +-* ha - pointer to the scsi_qla_host_t where the callback is to occur. +-* sp - pointer to srb_t structure to use. +-* +-* Returns: +-* +-**************************************************************************/ +-static inline void +-sp_put(struct scsi_qla_host * ha, srb_t *sp) +-{ +- if (atomic_read(&sp->ref_count) == 0) { +- qla_printk(KERN_INFO, ha, +- "%s(): **** SP->ref_count not zero\n", +- __func__); +- DEBUG2(BUG();) +- +- return; +- } +- +- if (!atomic_dec_and_test(&sp->ref_count)) { +- return; +- } +- +- qla2x00_callback(ha, sp->cmd); +-} +- +-/************************************************************************** +-* sp_get +-* +-* Description: +-* Increment reference count of the specified sp. +-* +-* Input: +-* sp - pointer to srb_t structure to use. +-* +-* Returns: +-* +-**************************************************************************/ +-static inline void +-sp_get(struct scsi_qla_host * ha, srb_t *sp) +-{ +- atomic_inc(&sp->ref_count); +- +- if (atomic_read(&sp->ref_count) > 2) { +- qla_printk(KERN_INFO, ha, +- "%s(): **** SP->ref_count greater than two\n", +- __func__); +- DEBUG2(BUG();) +- +- return; +- } +-} +- + /* + * qla2x00_callback + * Returns the completed SCSI command to LINUX. +@@ -366,6 +305,68 @@ + (*(cmd)->scsi_done)(cmd); + } + ++/************************************************************************** ++* sp_put ++* ++* Description: ++* Decrement reference count and call the callback if we're the last ++* owner of the specified sp. Will get the host_lock before calling ++* the callback. ++* ++* Input: ++* ha - pointer to the scsi_qla_host_t where the callback is to occur. ++* sp - pointer to srb_t structure to use. ++* ++* Returns: ++* ++**************************************************************************/ ++static inline void ++sp_put(struct scsi_qla_host * ha, srb_t *sp) ++{ ++ if (atomic_read(&sp->ref_count) == 0) { ++ qla_printk(KERN_INFO, ha, ++ "%s(): **** SP->ref_count not zero\n", ++ __func__); ++ DEBUG2(BUG();) ++ ++ return; ++ } ++ ++ if (!atomic_dec_and_test(&sp->ref_count)) { ++ return; ++ } ++ ++ qla2x00_callback(ha, sp->cmd); ++} ++ ++/************************************************************************** ++* sp_get ++* ++* Description: ++* Increment reference count of the specified sp. ++* ++* Input: ++* sp - pointer to srb_t structure to use. ++* ++* Returns: ++* ++**************************************************************************/ ++static inline void ++sp_get(struct scsi_qla_host * ha, srb_t *sp) ++{ ++ atomic_inc(&sp->ref_count); ++ ++ if (atomic_read(&sp->ref_count) > 2) { ++ qla_printk(KERN_INFO, ha, ++ "%s(): **** SP->ref_count greater than two\n", ++ __func__); ++ DEBUG2(BUG();) ++ ++ return; ++ } ++} ++ ++ + static inline void + qla2x00_delete_from_done_queue(scsi_qla_host_t *dest_ha, srb_t *sp) + { +diff -ruN linux-2.6.9/drivers/scsi/qla2xxx/qla_rscn.c linux-2.6.9-new/drivers/scsi/qla2xxx/qla_rscn.c +--- linux-2.6.9/drivers/scsi/qla2xxx/qla_rscn.c 2004-10-18 23:53:50.000000000 +0200 ++++ linux-2.6.9-new/drivers/scsi/qla2xxx/qla_rscn.c 2004-10-19 12:20:38.270189008 +0200 +@@ -242,6 +242,20 @@ + } + + /** ++ * qla2x00_remove_iodesc_timer() - Remove an active timer from an IO descriptor. ++ * @iodesc: io descriptor ++ */ ++static inline void ++qla2x00_remove_iodesc_timer(struct io_descriptor *iodesc) ++{ ++ if (iodesc->timer.function != NULL) { ++ del_timer_sync(&iodesc->timer); ++ iodesc->timer.data = (unsigned long) NULL; ++ iodesc->timer.function = NULL; ++ } ++} ++ ++/** + * qla2x00_init_io_descriptors() - Initialize the pool of IO descriptors. + * @ha: HA context + */ +@@ -311,20 +325,6 @@ + add_timer(&iodesc->timer); + } + +-/** +- * qla2x00_remove_iodesc_timer() - Remove an active timer from an IO descriptor. +- * @iodesc: io descriptor +- */ +-static inline void +-qla2x00_remove_iodesc_timer(struct io_descriptor *iodesc) +-{ +- if (iodesc->timer.function != NULL) { +- del_timer_sync(&iodesc->timer); +- iodesc->timer.data = (unsigned long) NULL; +- iodesc->timer.function = NULL; +- } +-} +- + /** + * IO descriptor support routines. + **/