Messages in this thread |  | | Date | Wed, 7 Feb 2007 13:19:52 -0800 | From | Andrew Morton <> | Subject | Re: [PATCH 2/5] scsi: megaraid_sas - added bios_param in scsi_host_template |
| |
On Tue, 06 Feb 2007 13:57:23 -0800 Sumant Patro <sumantp@lsil.com> wrote:
> +static int > +megasas_bios_param(struct scsi_device *sdev, struct block_device *bdev, > + sector_t capacity, int geom[]) > +{ > + int heads; > + int sectors; > + sector_t cylinders; > + ulong dummy;
Plain old `unsigned long' is preferred.
> + /* Default heads (64) & sectors (32) */ > + heads = 64; > + sectors = 32; > + > + dummy = heads * sectors; > + cylinders = capacity; > + > + sector_div(cylinders, dummy); > + > + /* > + * Handle extended translation size for logical drives > 1Gb > + */ > + > + if ((ulong)capacity >= 0x200000) {
Here we're casting a sector_t down to a 32-bit number. Are you sure that `capacity' here can never exceed 0xffffffff?
- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
|  |