[SCSI] scsi_dh_rdac: fix for lun_table update for rdac device handler
authorMoger, Babu <Babu.Moger@lsi.com>
Fri, 11 Feb 2011 22:14:08 +0000 (15:14 -0700)
committerJames Bottomley <James.Bottomley@suse.de>
Sat, 12 Feb 2011 20:05:08 +0000 (14:05 -0600)
commit04b6e153b64471ff43dde82b0122e67cf491f2f5
treef58379ad7189750122033f71f7e4b8a6c0c6db5a
parent3487735aa54407565278a5a1288119c45210b86c
[SCSI] scsi_dh_rdac: fix for lun_table update for rdac device handler

During one of our testing, we noticed that mode select command sent
from the host did not have the lun_table updated.

Problem is root caused to the way lun table is updated. Lun table
update was done after the call to blk_rq_map_kern is made. This was
causing problem because kernel uses bounce buffer(bio_copy_kern) if
the address is not aligned.  The command buffer updated after the
call(blk_rq_map_kern) was not going on the wire. Moved the code to
update the lun_table before the call to fix the problem.

Signed-off-by: Babu Moger <babu.moger@lsi.com>
Signed-off-by: Somasundaram Krishnasamy <Somasundaram.Krishnasamy@lsi.com>
Signed-off-by: Yanling Qi <Yanling.Qi@lsi.com>
Signed-off-by: James Bottomley <James.Bottomley@suse.de>
drivers/scsi/device_handler/scsi_dh_rdac.c