On 2004.02.20 16:47, Bartlomiej Zolnierkiewicz wrote:
[IDE] remove dead ATAPI multi-lun support (used for ide-scsi)
ChangeSet@xxxxxxxxxx 03-01-23 14:51:03-05:00 adam@xxxxxxxxxxxxx
| The following changes to ide-scsi.c are a recovery of the
| changes that I had in ide-scsi.c in the stock kernel's before
| Martin Dalecki's IDE tree was reverted and a few other changes.
...
broke it.
Before this change drive->id->last_id & 0x7 was used as shost->max_lun
and "hdXlun=" kernel parameter could be used to override it.
It was needed probably only for some rare ATAPI PD-CD drives
(http://www.geocrawler.com/archives/3/58/1999/11/50/2877161/).
However it was far from optimal:
- people played with "hdXlun=" and then complained about multiple instances
of the same device (most ATAPI drives respond to each LUN)
- probably some devices return 7 not 0 in id->last_id (=> 7 x same device)
This patch cleans things up, multi-lun will be fixed if needed in ide-scsi.
I think that this may work but can't verify it:
if (id->last_lun && id->last_lun != 7)
shost->max_lun = id->last_lun + 1;
else
shost->max_lun = 1;
I have verified that this works with my PD/CD drive, the patch to ide-scsi.c
that I suggest (against linux-2.6.4-rc1-mm2) is below.