pm8001: Fix erratic calculation in update_flash
Subsystems (2)
PATCH v2 2/3 pm8001: Fix erratic calculation in update_flash
V2 - 'from' string removed (as it comes from me now) and changed a signed-off to acked-by (Suresh is the maintainer) Tomas
The loopcount is calculated by using some weird magic. Use instead a boring macro
Signed-off-by Tomas Henzl <[email protected]>
--- drivers/scsi/pm8001/pm8001_ctl.c | 7 ++----- 1 files changed, 2 insertions(+), 5 deletions(-)
drivers/scsi/pm8001/pm8001_ctl.c +2 -5
@@ -585,11 +585,8 @@ static int pm8001_update_flash(struct pm8001_hba_info *pm8001_ha) partitionSizeTmp = *(u32 *)((u8 *)&image_hdr->image_length + sizeRead); partitionSize =be32_to_cpu (partitionSizeTmp); - loopcount = (partitionSize +HEADER_LEN )/IOCTL_BUF_SIZE ; -if (loopcount %IOCTL_BUF_SIZE ) - loopcount++; -if (loopcount ==0 ) - loopcount++; + loopcount =DIV_ROUND_UP (partitionSize +HEADER_LEN , +IOCTL_BUF_SIZE );for (loopNumber =0 ; loopNumber < loopcount; loopNumber++) { payload = (struct pm8001_ioctl_payload *)ioctlbuffer; payload->length =1024 *16 ;
-- 1.7.1