Re: 2.5.65-mm3

Robert Love
2003-03-21T20:08:55Z

On Fri, 2003-03-21 at 02:58, Andrew Morton wrote:

> dev_t-3-major_h-cleanup.patch
> dev_t [3/3]: major.h cleanups
>
> dev_t-32-bit.patch
> [for playing only] change type of dev_t

Now that dev_t is an unsigned long, MKDEV() correspondingly returns an
unsigned long. This causes a compiler warning and potential bug on
64-bit architectures in drivers/scsi/sg.c :: sg_device_kdev_read().

This patch needs to be applied on top of the dev_t patches.

Robert Love

drivers/scsi/sg.c | 6 ++++--
1 files changed, 4 insertions(+), 2 deletions(-)

diff -urN linux-2.5.65-mm3/drivers/scsi/sg.c linux/drivers/scsi/sg.c
--- linux-2.5.65-mm3/drivers/scsi/sg.c 2003-03-17 16:44:05.000000000 -0500
+++ linux/drivers/scsi/sg.c 2003-03-19 11:35:50.706607408 -0500
@@ -1331,9 +1331,11 @@
sg_device_kdev_read(struct device *driverfs_dev, char *page)
{
Sg_device *sdp = list_entry(driverfs_dev, Sg_device, sg_driverfs_dev);
- return sprintf(page, "%x\n", MKDEV(sdp->disk->major,
- sdp->disk->first_minor));
+
+ return sprintf(page, "%lx\n", MKDEV(sdp->disk->major,
+ sdp->disk->first_minor));
}
+
static DEVICE_ATTR(kdev,S_IRUGO,sg_device_kdev_read,NULL);

static ssize_t