summaryrefslogtreecommitdiffstats
path: root/drivers/scsi/scsicam.c
diff options
context:
space:
mode:
authorLinus Torvalds <torvalds@g5.osdl.org>2006-07-03 21:27:18 -0700
committerLinus Torvalds <torvalds@g5.osdl.org>2006-07-03 21:27:18 -0700
commitf7d57e42e7ebd085133506ef6325e70e822196dc (patch)
tree1851633f96b1eeaac58edcff94669bed3921dec7 /drivers/scsi/scsicam.c
parent51bece910d2b0aca64cd3dee9fa2a8aa7feeadd9 (diff)
parentc4e00fac42f268ed0a547cdd1d12bb8399864040 (diff)
Merge master.kernel.org:/pub/scm/linux/kernel/git/jejb/scsi-misc-2.6
* master.kernel.org:/pub/scm/linux/kernel/git/jejb/scsi-misc-2.6: (57 commits) [SCSI] fix error handling in scsi_io_completion [SCSI] qla1280: fix section mismatch warnings [SCSI] mptsas: eliminate ghost devices [SCSI] qla2xxx: make some more functions static [SCSI] small whitespace cleanup for qlogic driver [SCSI] mptbase: mpt_interrupt should return IRQ_NONE [SCSI] mptsas: make two functions static [SCSI] sg.c: Fix bad error handling in [SCSI] 53c700: fix breakage caused by the autosense update [SCSI] iscsi: add async notification of session events [SCSI] iscsi: pass target nr to session creation [SCSI] iscsi: break up session creation into two stages [SCSI] iscsi: rm channel usage from iscsi [SCSI] iscsi: fix session refcouting [SCSI] iscsi: convert iscsi_tcp to new set/get param fns [SCSI] iscsi: convert iser to new set/get param fns [SCSI] iscsi: fixup set/get param functions [SCSI] iscsi: add target discvery event to transport class [SCSI] st: remove unused st_buffer.in_use [SCSI] atp870u: reduce huge stack usage ...
Diffstat (limited to 'drivers/scsi/scsicam.c')
-rw-r--r--drivers/scsi/scsicam.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/drivers/scsi/scsicam.c b/drivers/scsi/scsicam.c
index b78354fc4b1..cd68a66c7bb 100644
--- a/drivers/scsi/scsicam.c
+++ b/drivers/scsi/scsicam.c
@@ -57,6 +57,7 @@ EXPORT_SYMBOL(scsi_bios_ptable);
int scsicam_bios_param(struct block_device *bdev, sector_t capacity, int *ip)
{
unsigned char *p;
+ u64 capacity64 = capacity; /* Suppress gcc warning */
int ret;
p = scsi_bios_ptable(bdev);
@@ -68,7 +69,7 @@ int scsicam_bios_param(struct block_device *bdev, sector_t capacity, int *ip)
(unsigned int *)ip + 0, (unsigned int *)ip + 1);
kfree(p);
- if (ret == -1) {
+ if (ret == -1 && capacity64 < (1ULL << 32)) {
/* pick some standard mapping with at most 1024 cylinders,
and at most 62 sectors per track - this works up to
7905 MB */