------BEGIN PGP SIGNED MESSAGE-----
-Hash: SHA1
-
-AUX gentoo-sources-2.4.81106.patch 2364 RMD160 9ffa11595df8585c8c6f2aae0d39c6c6f5e4686f SHA1 1e2677ef889a3ad6f8636ae4ae498b98739f3cb2 SHA256 76263e98e732abccc04f8cf6ce5f9419a1c8927d7ffad60066a598414b1b9976
-MD5 10ce33b7636259f96a9a16a19c8955b3 files/gentoo-sources-2.4.81106.patch 2364
-RMD160 9ffa11595df8585c8c6f2aae0d39c6c6f5e4686f files/gentoo-sources-2.4.81106.patch 2364
-SHA256 76263e98e732abccc04f8cf6ce5f9419a1c8927d7ffad60066a598414b1b9976 files/gentoo-sources-2.4.81106.patch 2364
-AUX gentoo-sources-2.4.CAN-2004-1056.patch 11249 RMD160 97104506375782f5d2a9b9dca8f4852f5aeb2c66 SHA1 f4686563aeb20aab561f49f1ccf7820415842454 SHA256 75f192f20b514bbeda9f7742edffc81375d407e143b5e7e3415d612f1997209b
-MD5 757ee1239c3f14645ccea3640d551e11 files/gentoo-sources-2.4.CAN-2004-1056.patch 11249
-RMD160 97104506375782f5d2a9b9dca8f4852f5aeb2c66 files/gentoo-sources-2.4.CAN-2004-1056.patch 11249
-SHA256 75f192f20b514bbeda9f7742edffc81375d407e143b5e7e3415d612f1997209b files/gentoo-sources-2.4.CAN-2004-1056.patch 11249
DIST genpatches-2.6.15-3.base.tar.bz2 16532 RMD160 4aaa4ba26655a8fa4480834e50e41a9f885b388d SHA1 9d6c0bf0e4d86f93a8f6aad3f5010750fc5bdf36 SHA256 3d9a8992092d535eaafd61a68357a9293c9d3fe4f2153bff04db7c010c7d110e
DIST genpatches-2.6.15-3.extras.tar.bz2 175417 RMD160 f962ea6c63464fe1085879a0eff1ec27b90ae20c SHA1 606a894e6b86a29d550f6c6d911d190e82a93e52 SHA256 1d3cc9b16fd518daa0a073b69b9d0bebc2181b6cc86cb3b73620259b074f9283
DIST genpatches-2.6.16-15.base.tar.bz2 98632 RMD160 46e8cfcae8fea262d7599c2e4d3e7fbc8af239b2 SHA1 e0f253ad01a4da388675af4b90223289d9bcd578 SHA256 fb78f2a4d32d1770a34d9ee254686a6a12102fa99c1bb73e9c282ab5f82dddaa
DIST genpatches-2.6.20-9.extras.tar.bz2 143168 RMD160 a0f12c79b5dbd6f8c2e97620cd857d3b7a52ea6c SHA1 b810d3407866a37968c7305ada0e2008027a0d9b SHA256 c4e92e796c5649d61bdc549c38fbdebe58e7579180bbe10843a8e3f25af4e946
DIST genpatches-2.6.21-1.base.tar.bz2 1050 RMD160 da561dd019aea7c4b4b33e1afce1004ba93f504f SHA1 77014980bd7eb23e98ac6ceea69b798f8ad76aa1 SHA256 4d9d263d4c3916a68526a7b6ec4208afce071aaf541aa884f5bd78e0654e063a
DIST genpatches-2.6.21-1.extras.tar.bz2 138898 RMD160 2307e415b37d4b20fb6d64f76708a8787c6efe54 SHA1 84c94849d65328bf3dafa8e580103daaf66b2ae0 SHA256 041c44707e409535b385e248b7e654b3e0927116dc7282f0c461b1627f50214d
-DIST gentoo-sources-2.4.32-r7.tar.bz2 933443 RMD160 7e0ded7d66bc060a78bb6c0df437478f6e61e0c9 SHA1 cfdc67358c07319f82edb3dc294820b962d7376f SHA256 2b0874521a9fa3b443b4845ece05e64b1677635468ec8a0e762c7cd66f27674a
-DIST linux-2.4.32.tar.bz2 31132159 RMD160 63ab1a0b18e690170f60de9da7392416311dc609 SHA1 0a99d7ab1d2799168d11689b4a2410b045592cf4 SHA256 7dace89c3f0850c3d5c32c38c20b600259c314e8cbec29fe3ee59c2fbbee1759
DIST linux-2.6.15.tar.bz2 39832836 RMD160 e65904bf253b3515f8dd2a480c7e99ec7117cf60 SHA1 6cfa28ef48c385948c6859cfb9f60840720a1d30 SHA256 066ec56ce5f57c79a526b6bb3541d32dbf796c11c26c32073fc64b93f09825db
DIST linux-2.6.16.tar.bz2 40845005 RMD160 af5c2f55733fadd2fdf8b00da55e7b31d516d4e8 SHA1 bef21cd5063a648f33a99a26f4742dd05eb4dca2 SHA256 1200dcc7e60fcdaf68618dba991917a47e41e67099e8b22143976ec972e2cad7
DIST linux-2.6.17.tar.bz2 41272919 RMD160 26aad30c9a6610665c6c7d62401d79bf56a6a699 SHA1 0605c975b9dead2af31a3decf09dd4138fadaf2b SHA256 ab0f647d52f124958439517df9e1ae0efda90cdb851f59f522fa1749f1d87d58
DIST linux-2.6.19.tar.bz2 42733268 RMD160 75dc65b15cf9cdb359b1abe7084907982c19088b SHA1 c00d5891e2461bce45be51c1ef7846ee842792dd SHA256 c2fd6bcd2b7c1b3d37d64e4d1825703792a75474830a3db7d2dc603a8d392d58
DIST linux-2.6.20.tar.bz2 43375937 RMD160 14657ade7be4363143dbd5593f5710d21eda7a03 SHA1 e730979adfb287528263e779c91284659672510d SHA256 2c14ada1ac7d272e03b430d3a530d60fc9ec69cc8252382aa049afba7d2b8558
DIST linux-2.6.21.tar.bz2 43997476 RMD160 b2badf41c61f66b0dda059d99a57c2e2c0ea13f4 SHA1 0d2eb42c8dd5944f1849a020041cd7a4036c798c SHA256 f187b12d70e0a48ce81f0472dfe9504fb5f0f966be339ac9d57dd2b991a74942
-EBUILD gentoo-sources-2.4.32-r7.ebuild 668 RMD160 5140a9724ab73ddc6d58f593ccb3d4f15a856957 SHA1 74001555101b54622cdcfd196fee95018528ac11 SHA256 154592aebca27f7e01b6413068048d29521481740ffd8cf510db0433ea805ea5
-MD5 835eb712408b98feb39ebe89f106a2a3 gentoo-sources-2.4.32-r7.ebuild 668
-RMD160 5140a9724ab73ddc6d58f593ccb3d4f15a856957 gentoo-sources-2.4.32-r7.ebuild 668
-SHA256 154592aebca27f7e01b6413068048d29521481740ffd8cf510db0433ea805ea5 gentoo-sources-2.4.32-r7.ebuild 668
EBUILD gentoo-sources-2.6.15-r1.ebuild 1233 RMD160 c2ed8b68670671dffd7586f1ac665ff51a31c72b SHA1 e56e49c869aa152f0313b6abcc72098ae70c2c25 SHA256 3226b59edce62cf2b9adaf85bb74eaec80889aa425a3c23ce393a8be6471bdaf
MD5 85cb9ec03dbd31c918cb5f4916ee6d14 gentoo-sources-2.6.15-r1.ebuild 1233
RMD160 c2ed8b68670671dffd7586f1ac665ff51a31c72b gentoo-sources-2.6.15-r1.ebuild 1233
MD5 e24cab408a6e8594273b2a525f234060 gentoo-sources-2.6.21.ebuild 731
RMD160 c90c42c46aa69c40d00a17d54c6278ba8f12cd17 gentoo-sources-2.6.21.ebuild 731
SHA256 fd3abdcb0cfbe41a9c16af7d5677b8323d124d6c2ebf47663de300fa482893ed gentoo-sources-2.6.21.ebuild 731
-MISC ChangeLog 80385 RMD160 692fa6897f22d8253f76a4c3aec64df205973778 SHA1 76754c680c10d7ca9b2f27347637bbe266d9be8d SHA256 1a6761ec215c6e8e49745020409c5656003346c5b18653b6a120281e7dae9061
-MD5 0db2d849104e6c75a3a101172c04207d ChangeLog 80385
-RMD160 692fa6897f22d8253f76a4c3aec64df205973778 ChangeLog 80385
-SHA256 1a6761ec215c6e8e49745020409c5656003346c5b18653b6a120281e7dae9061 ChangeLog 80385
+MISC ChangeLog 80705 RMD160 b1134e4a6ad6ee0dd95da83eab091e487a7414fd SHA1 ce4361345d849ecc06afbc5af09482dc65744305 SHA256 bb05d991635f084faf92b7d208115df080a3f73fa569ae0bdb22e0d95d095d95
+MD5 fef18f93cf325e90fb932366c883910c ChangeLog 80705
+RMD160 b1134e4a6ad6ee0dd95da83eab091e487a7414fd ChangeLog 80705
+SHA256 bb05d991635f084faf92b7d208115df080a3f73fa569ae0bdb22e0d95d095d95 ChangeLog 80705
MISC metadata.xml 218 RMD160 ccfd8fa067cf1120eb85e365939c1c8ce79b6719 SHA1 49f3ce787b10350c79302ce769ac2a75546f00c9 SHA256 64ed0cfacd427998669db36168d6d4b7121d518d82bc42d087a3a88defc384dc
MD5 105688a55755eb9c959c57f92b2069a5 metadata.xml 218
RMD160 ccfd8fa067cf1120eb85e365939c1c8ce79b6719 metadata.xml 218
SHA256 64ed0cfacd427998669db36168d6d4b7121d518d82bc42d087a3a88defc384dc metadata.xml 218
-MD5 abf0c35e0685aeb5606e608cdc5c0b59 files/digest-gentoo-sources-2.4.32-r7 524
-RMD160 72548b1be38b227f6f77bf31943319f0869a4794 files/digest-gentoo-sources-2.4.32-r7 524
-SHA256 1cb682f0063b10e5d5cb74d93c165ad86d0fa4100a6eb6b5956e48ded5ea9350 files/digest-gentoo-sources-2.4.32-r7 524
MD5 f1d2ba274665794daf4e566827e56d22 files/digest-gentoo-sources-2.6.15-r1 804
RMD160 45fa6722a80cfc4e25f28860749676c21b564ad3 files/digest-gentoo-sources-2.6.15-r1 804
SHA256 f891b4e83ab66e5a35e0665d51c950483c7482e95382b3cec7bee03714b02619 files/digest-gentoo-sources-2.6.15-r1 804
MD5 d8b3dd115914ded1799c5574408c8083 files/digest-gentoo-sources-2.6.21 801
RMD160 c5b1b39a219c787298f4500b6dc9e6845ee2bfbc files/digest-gentoo-sources-2.6.21 801
SHA256 c1e6eeee6bc75aec627b091c638315f2b256adb62db12c79a31eb43697da2280 files/digest-gentoo-sources-2.6.21 801
------BEGIN PGP SIGNATURE-----
-Version: GnuPG v1.4.6-ecc01.6 (GNU/Linux)
-
-iD8DBQFGMk3pKRy60XGEcJIRAortAJ9Py6/8XLalyRMbvQL6Du727y8qRgCglu+A
-Dase0pXY4a4nds/TX4RKh8o=
-=B11h
------END PGP SIGNATURE-----
+++ /dev/null
-# ChangeSet
-# 2005/01/25 10:10:51+00:00 aia21@cantab.net
-# NTFS: Add printk rate limiting for ntfs_warning() and ntfs_error() when
-# compiled without debug. This avoids a possible denial of service
-# attack. Thanks to Carl-Daniel Hailfinger from SuSE for pointing this
-# out.
-#
-# <plasmaroo>: printk_ratelimit() backported from 2.6.
-#
-diff -Nru a/fs/ntfs/debug.c b/fs/ntfs/debug.c
---- a/fs/ntfs/debug.c 2005-02-15 12:38:26 -08:00
-+++ b/fs/ntfs/debug.c 2005-02-15 12:38:26 -08:00
-@@ -25,6 +25,48 @@
- #endif
-
- #include "debug.h"
-+#include <linux/sched.h>
-+
-+/* minimum time in jiffies between messages */
-+int ntfs_debug_printk_ratelimit_jiffies = 5*HZ;
-+
-+/* number of messages we send before ratelimiting */
-+int ntfs_debug_printk_ratelimit_burst = 10;
-+
-+/*
-+ * printk rate limiting, lifted from the networking subsystem.
-+ *
-+ * This enforces a rate limit: not more than one kernel message
-+ * every printk_ratelimit_jiffies to make a denial-of-service
-+ * attack impossible.
-+ */
-+int ntfs_debug_printk_ratelimit(void)
-+{
-+ static spinlock_t ratelimit_lock = SPIN_LOCK_UNLOCKED;
-+ static unsigned long toks = 10*5*HZ;
-+ static unsigned long last_msg;
-+ static int missed;
-+ unsigned long flags;
-+ unsigned long now = jiffies;
-+
-+ spin_lock_irqsave(&ratelimit_lock, flags);
-+ toks += now - last_msg;
-+ last_msg = now;
-+ if (toks > (ntfs_debug_printk_ratelimit_burst * ntfs_debug_printk_ratelimit_jiffies))
-+ toks = ntfs_debug_printk_ratelimit_burst * ntfs_debug_printk_ratelimit_jiffies;
-+ if (toks >= ntfs_debug_printk_ratelimit_jiffies) {
-+ int lost = missed;
-+ missed = 0;
-+ toks -= ntfs_debug_printk_ratelimit_jiffies;
-+ spin_unlock_irqrestore(&ratelimit_lock, flags);
-+ if (lost)
-+ printk(KERN_WARNING "printk: %d messages suppressed.\n", lost);
-+ return 1;
-+ }
-+ missed++;
-+ spin_unlock_irqrestore(&ratelimit_lock, flags);
-+ return 0;
-+}
-
- /*
- * A static buffer to hold the error string being displayed and a spinlock
-@@ -53,6 +53,10 @@
- va_list args;
- int flen = 0;
-
-+#ifndef DEBUG
-+ if (!ntfs_debug_printk_ratelimit())
-+ return;
-+#endif
- if (function)
- flen = strlen(function);
- spin_lock(&err_buf_lock);
-@@ -93,6 +97,10 @@
- va_list args;
- int flen = 0;
-
-+#ifndef DEBUG
-+ if (!ntfs_debug_printk_ratelimit())
-+ return;
-+#endif
- if (function)
- flen = strlen(function);
- spin_lock(&err_buf_lock);
+++ /dev/null
-diff -ur linux-2.4.28/drivers/char/drm/i810.h linux-2.4.28.plasmaroo/drivers/char/drm/i810.h
---- linux-2.4.28/drivers/char/drm/i810.h 2003-11-28 18:26:20.000000000 +0000
-+++ linux-2.4.28.plasmaroo/drivers/char/drm/i810.h 2004-12-23 16:26:31.000000000 +0000
-@@ -114,4 +114,14 @@
- #define DRIVER_AGP_BUFFERS_MAP( dev ) \
- ((drm_i810_private_t *)((dev)->dev_private))->buffer_map
-
-+#define LOCK_TEST_WITH_RETURN( dev ) \
-+do { \
-+ if ( !_DRM_LOCK_IS_HELD( dev->lock.hw_lock->lock ) || \
-+ dev->lock.pid != current->pid ) { \
-+ DRM_ERROR( "%s called without lock held\n", \
-+ __FUNCTION__ ); \
-+ return -EINVAL; \
-+ } \
-+} while (0)
-+
- #endif
-diff -ur linux-2.4.28/drivers/char/drm/i810_dma.c linux-2.4.28.plasmaroo/drivers/char/drm/i810_dma.c
---- linux-2.4.28/drivers/char/drm/i810_dma.c 2004-02-18 13:36:31.000000000 +0000
-+++ linux-2.4.28.plasmaroo/drivers/char/drm/i810_dma.c 2004-12-23 16:27:16.000000000 +0000
-@@ -948,10 +948,7 @@
- drm_file_t *priv = filp->private_data;
- drm_device_t *dev = priv->dev;
-
-- if(!_DRM_LOCK_IS_HELD(dev->lock.hw_lock->lock)) {
-- DRM_ERROR("i810_flush_ioctl called without lock held\n");
-- return -EINVAL;
-- }
-+ LOCK_TEST_WITH_RETURN(dev);
-
- i810_flush_queue(dev);
- return 0;
-@@ -973,10 +970,7 @@
- if (copy_from_user(&vertex, (drm_i810_vertex_t *)arg, sizeof(vertex)))
- return -EFAULT;
-
-- if(!_DRM_LOCK_IS_HELD(dev->lock.hw_lock->lock)) {
-- DRM_ERROR("i810_dma_vertex called without lock held\n");
-- return -EINVAL;
-- }
-+ LOCK_TEST_WITH_RETURN(dev);
-
- if(vertex.idx < 0 || vertex.idx > dma->buf_count) return -EINVAL;
-
-@@ -1004,10 +998,7 @@
- if (copy_from_user(&clear, (drm_i810_clear_t *)arg, sizeof(clear)))
- return -EFAULT;
-
-- if(!_DRM_LOCK_IS_HELD(dev->lock.hw_lock->lock)) {
-- DRM_ERROR("i810_clear_bufs called without lock held\n");
-- return -EINVAL;
-- }
-+ LOCK_TEST_WITH_RETURN(dev);
-
- /* GH: Someone's doing nasty things... */
- if (!dev->dev_private) {
-@@ -1026,10 +1017,7 @@
- drm_file_t *priv = filp->private_data;
- drm_device_t *dev = priv->dev;
-
-- if(!_DRM_LOCK_IS_HELD(dev->lock.hw_lock->lock)) {
-- DRM_ERROR("i810_swap_buf called without lock held\n");
-- return -EINVAL;
-- }
-+ LOCK_TEST_WITH_RETURN(dev);
-
- i810_dma_dispatch_swap( dev );
- return 0;
-@@ -1064,10 +1052,7 @@
- if (copy_from_user(&d, (drm_i810_dma_t *)arg, sizeof(d)))
- return -EFAULT;
-
-- if(!_DRM_LOCK_IS_HELD(dev->lock.hw_lock->lock)) {
-- DRM_ERROR("i810_dma called without lock held\n");
-- return -EINVAL;
-- }
-+ LOCK_TEST_WITH_RETURN(dev);
-
- d.granted = 0;
-
-@@ -1174,11 +1159,7 @@
- if (copy_from_user(&mc, (drm_i810_mc_t *)arg, sizeof(mc)))
- return -EFAULT;
-
--
-- if(!_DRM_LOCK_IS_HELD(dev->lock.hw_lock->lock)) {
-- DRM_ERROR("i810_dma_mc called without lock held\n");
-- return -EINVAL;
-- }
-+ LOCK_TEST_WITH_RETURN(dev);
-
- i810_dma_dispatch_mc(dev, dma->buflist[mc.idx], mc.used,
- mc.last_render );
-@@ -1223,10 +1204,7 @@
- drm_device_t *dev = priv->dev;
- drm_i810_private_t *dev_priv = (drm_i810_private_t *)dev->dev_private;
-
-- if(!_DRM_LOCK_IS_HELD(dev->lock.hw_lock->lock)) {
-- DRM_ERROR("i810_fstatus called without lock held\n");
-- return -EINVAL;
-- }
-+ LOCK_TEST_WITH_RETURN(dev);
- return I810_READ(0x30008);
- }
-
-@@ -1237,10 +1215,7 @@
- drm_device_t *dev = priv->dev;
- drm_i810_private_t *dev_priv = (drm_i810_private_t *)dev->dev_private;
-
-- if(!_DRM_LOCK_IS_HELD(dev->lock.hw_lock->lock)) {
-- DRM_ERROR("i810_ov0_flip called without lock held\n");
-- return -EINVAL;
-- }
-+ LOCK_TEST_WITH_RETURN(dev);
-
- //Tell the overlay to update
- I810_WRITE(0x30000,dev_priv->overlay_physical | 0x80000000);
-diff -ur linux-2.4.28/drivers/char/drm/i830.h linux-2.4.28.plasmaroo/drivers/char/drm/i830.h
---- linux-2.4.28/drivers/char/drm/i830.h 2003-11-28 18:26:20.000000000 +0000
-+++ linux-2.4.28.plasmaroo/drivers/char/drm/i830.h 2004-12-23 16:31:33.000000000 +0000
-@@ -154,4 +154,14 @@
- #define DRIVER_AGP_BUFFERS_MAP( dev ) \
- ((drm_i830_private_t *)((dev)->dev_private))->buffer_map
-
-+#define LOCK_TEST_WITH_RETURN( dev ) \
-+do { \
-+ if ( !_DRM_LOCK_IS_HELD( dev->lock.hw_lock->lock ) || \
-+ dev->lock.pid != current->pid ) { \
-+ DRM_ERROR( "%s called without lock held\n", \
-+ __FUNCTION__ ); \
-+ return -EINVAL; \
-+ } \
-+} while (0)
-+
- #endif
-diff -ur linux-2.4.28/drivers/char/drm/i830_dma.c linux-2.4.28.plasmaroo/drivers/char/drm/i830_dma.c
---- linux-2.4.28/drivers/char/drm/i830_dma.c 2004-02-18 13:36:31.000000000 +0000
-+++ linux-2.4.28.plasmaroo/drivers/char/drm/i830_dma.c 2004-12-23 16:32:08.000000000 +0000
-@@ -1330,10 +1330,7 @@
- drm_file_t *priv = filp->private_data;
- drm_device_t *dev = priv->dev;
-
-- if(!_DRM_LOCK_IS_HELD(dev->lock.hw_lock->lock)) {
-- DRM_ERROR("i830_flush_ioctl called without lock held\n");
-- return -EINVAL;
-- }
-+ LOCK_TEST_WITH_RETURN(dev);
-
- i830_flush_queue(dev);
- return 0;
-@@ -1354,10 +1351,7 @@
- if (copy_from_user(&vertex, (drm_i830_vertex_t *)arg, sizeof(vertex)))
- return -EFAULT;
-
-- if(!_DRM_LOCK_IS_HELD(dev->lock.hw_lock->lock)) {
-- DRM_ERROR("i830_dma_vertex called without lock held\n");
-- return -EINVAL;
-- }
-+ LOCK_TEST_WITH_RETURN(dev);
-
- DRM_DEBUG("i830 dma vertex, idx %d used %d discard %d\n",
- vertex.idx, vertex.used, vertex.discard);
-@@ -1384,10 +1378,7 @@
- if (copy_from_user(&clear, (drm_i830_clear_t *)arg, sizeof(clear)))
- return -EFAULT;
-
-- if(!_DRM_LOCK_IS_HELD(dev->lock.hw_lock->lock)) {
-- DRM_ERROR("i830_clear_bufs called without lock held\n");
-- return -EINVAL;
-- }
-+ LOCK_TEST_WITH_RETURN(dev);
-
- /* GH: Someone's doing nasty things... */
- if (!dev->dev_private) {
-@@ -1409,10 +1400,7 @@
-
- DRM_DEBUG("i830_swap_bufs\n");
-
-- if(!_DRM_LOCK_IS_HELD(dev->lock.hw_lock->lock)) {
-- DRM_ERROR("i830_swap_buf called without lock held\n");
-- return -EINVAL;
-- }
-+ LOCK_TEST_WITH_RETURN(dev);
-
- i830_dma_dispatch_swap( dev );
- return 0;
-@@ -1453,10 +1441,7 @@
-
- DRM_DEBUG("%s\n", __FUNCTION__);
-
-- if(!_DRM_LOCK_IS_HELD(dev->lock.hw_lock->lock)) {
-- DRM_ERROR("i830_flip_buf called without lock held\n");
-- return -EINVAL;
-- }
-+ LOCK_TEST_WITH_RETURN(dev);
-
- if (!dev_priv->page_flipping)
- i830_do_init_pageflip( dev );
-@@ -1495,10 +1480,7 @@
- if (copy_from_user(&d, (drm_i830_dma_t *)arg, sizeof(d)))
- return -EFAULT;
-
-- if(!_DRM_LOCK_IS_HELD(dev->lock.hw_lock->lock)) {
-- DRM_ERROR("i830_dma called without lock held\n");
-- return -EINVAL;
-- }
-+ LOCK_TEST_WITH_RETURN(dev);
-
- d.granted = 0;
-
-diff -ur linux-2.4.28/drivers/char/drm/i830_irq.c linux-2.4.28.plasmaroo/drivers/char/drm/i830_irq.c
---- linux-2.4.28/drivers/char/drm/i830_irq.c 2003-11-28 18:26:20.000000000 +0000
-+++ linux-2.4.28.plasmaroo/drivers/char/drm/i830_irq.c 2004-12-23 16:39:47.000000000 +0000
-@@ -130,10 +130,7 @@
- drm_i830_irq_emit_t emit;
- int result;
-
-- if(!_DRM_LOCK_IS_HELD(dev->lock.hw_lock->lock)) {
-- DRM_ERROR("i830_irq_emit called without lock held\n");
-- return -EINVAL;
-- }
-+ LOCK_TEST_WITH_RETURN(dev);
-
- if ( !dev_priv ) {
- DRM_ERROR( "%s called with no initialization\n", __FUNCTION__ );
-diff -ur linux-2.4.28/drivers/char/drm-4.0/drmP.h linux-2.4.28.plasmaroo/drivers/char/drm-4.0/drmP.h
---- linux-2.4.28/drivers/char/drm-4.0/drmP.h 2004-02-18 13:36:31.000000000 +0000
-+++ linux-2.4.28.plasmaroo/drivers/char/drm-4.0/drmP.h 2004-12-23 16:21:30.000000000 +0000
-@@ -294,6 +294,16 @@
- #define DRM_BUFCOUNT(x) ((x)->count - DRM_LEFTCOUNT(x))
- #define DRM_WAITCOUNT(dev,idx) DRM_BUFCOUNT(&dev->queuelist[idx]->waitlist)
-
-+#define LOCK_TEST_WITH_RETURN( dev ) \
-+do { \
-+ if ( !_DRM_LOCK_IS_HELD( dev->lock.hw_lock->lock ) || \
-+ dev->lock.pid != current->pid ) { \
-+ DRM_ERROR( "%s called without lock held\n", \
-+ __FUNCTION__ ); \
-+ return -EINVAL; \
-+ } \
-+} while (0)
-+
- typedef int drm_ioctl_t(struct inode *inode, struct file *filp,
- unsigned int cmd, unsigned long arg);
-
-diff -ur linux-2.4.28/drivers/char/drm-4.0/i810_dma.c linux-2.4.28.plasmaroo/drivers/char/drm-4.0/i810_dma.c
---- linux-2.4.28/drivers/char/drm-4.0/i810_dma.c 2004-02-18 13:36:31.000000000 +0000
-+++ linux-2.4.28.plasmaroo/drivers/char/drm-4.0/i810_dma.c 2004-12-23 16:21:30.000000000 +0000
-@@ -1249,10 +1249,7 @@
- drm_device_t *dev = priv->dev;
-
- DRM_DEBUG("i810_flush_ioctl\n");
-- if(!_DRM_LOCK_IS_HELD(dev->lock.hw_lock->lock)) {
-- DRM_ERROR("i810_flush_ioctl called without lock held\n");
-- return -EINVAL;
-- }
-+ LOCK_TEST_WITH_RETURN(dev);
-
- i810_flush_queue(dev);
- return 0;
-@@ -1274,10 +1271,7 @@
- if (copy_from_user(&vertex, (drm_i810_vertex_t *)arg, sizeof(vertex)))
- return -EFAULT;
-
-- if(!_DRM_LOCK_IS_HELD(dev->lock.hw_lock->lock)) {
-- DRM_ERROR("i810_dma_vertex called without lock held\n");
-- return -EINVAL;
-- }
-+ LOCK_TEST_WITH_RETURN(dev);
-
- DRM_DEBUG("i810 dma vertex, idx %d used %d discard %d\n",
- vertex.idx, vertex.used, vertex.discard);
-@@ -1308,10 +1302,7 @@
- if (copy_from_user(&clear, (drm_i810_clear_t *)arg, sizeof(clear)))
- return -EFAULT;
-
-- if(!_DRM_LOCK_IS_HELD(dev->lock.hw_lock->lock)) {
-- DRM_ERROR("i810_clear_bufs called without lock held\n");
-- return -EINVAL;
-- }
-+ LOCK_TEST_WITH_RETURN(dev);
-
- i810_dma_dispatch_clear( dev, clear.flags,
- clear.clear_color,
-@@ -1327,10 +1318,7 @@
-
- DRM_DEBUG("i810_swap_bufs\n");
-
-- if(!_DRM_LOCK_IS_HELD(dev->lock.hw_lock->lock)) {
-- DRM_ERROR("i810_swap_buf called without lock held\n");
-- return -EINVAL;
-- }
-+ LOCK_TEST_WITH_RETURN(dev);
-
- i810_dma_dispatch_swap( dev );
- return 0;
-@@ -1366,10 +1354,7 @@
- if (copy_from_user(&d, (drm_i810_dma_t *)arg, sizeof(d)))
- return -EFAULT;
-
-- if(!_DRM_LOCK_IS_HELD(dev->lock.hw_lock->lock)) {
-- DRM_ERROR("i810_dma called without lock held\n");
-- return -EINVAL;
-- }
-+ LOCK_TEST_WITH_RETURN(dev);
-
- d.granted = 0;
-
-@@ -1399,10 +1384,7 @@
- drm_i810_buf_priv_t *buf_priv;
- drm_device_dma_t *dma = dev->dma;
-
-- if(!_DRM_LOCK_IS_HELD(dev->lock.hw_lock->lock)) {
-- DRM_ERROR("i810_dma called without lock held\n");
-- return -EINVAL;
-- }
-+ LOCK_TEST_WITH_RETURN(dev);
-
- if (copy_from_user(&d, (drm_i810_copy_t *)arg, sizeof(d)))
- return -EFAULT;