From bb9e1c7a55414c0d1abe8fe74c0d8e7d3aee37a0 Mon Sep 17 00:00:00 2001 From: Badari Pulavarty Date: Thu, 10 Apr 2003 07:54:26 -0500 Subject: [PATCH] Isn't sd_major() broken ? I am little confused about the correctness of sd_major() in drivers/scsi/sd.c. static int sd_major(int major_idx) { switch (major_idx) { case 0: return SCSI_DISK0_MAJOR; case 1 ... 7: return SCSI_DISK1_MAJOR + major_idx - 1; case 8 ... 15: return SCSI_DISK8_MAJOR + major_idx; default: BUG(); return 0; /* shut up gcc */ } } So, if major_idx = 8, It returns 143. But according to major.h, scsi has 128-135 reserved majors. But it is registering 136 - 143 as its majors. #define SCSI_DISK8_MAJOR 128 #define SCSI_DISK9_MAJOR 129 #define SCSI_DISK10_MAJOR 130 #define SCSI_DISK11_MAJOR 131 #define SCSI_DISK12_MAJOR 132 #define SCSI_DISK13_MAJOR 133 #define SCSI_DISK14_MAJOR 134 #define SCSI_DISK15_MAJOR 135 --- drivers/scsi/sd.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/drivers/scsi/sd.c b/drivers/scsi/sd.c index eadc8315551a4..b9913a3c37e5b 100644 --- a/drivers/scsi/sd.c +++ b/drivers/scsi/sd.c @@ -123,7 +123,7 @@ static int sd_major(int major_idx) case 1 ... 7: return SCSI_DISK1_MAJOR + major_idx - 1; case 8 ... 15: - return SCSI_DISK8_MAJOR + major_idx; + return SCSI_DISK8_MAJOR + major_idx - 8; default: BUG(); return 0; /* shut up gcc */ -- 2.53.0