Re: [PATCH SCSI] sr: check_events() ignore GET_EVENT when TUR says otherwise

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Thu, Jun 30, 2011 at 03:03:48PM +0200, Tejun Heo wrote:
> From: Kay Sievers <kay.sievers@xxxxxxxx>
> 
> Some broken devices indicates that media has changed on every
> GET_EVENT_STATUS_NOTIFICATION.  This translates into MEDIA_CHANGE
> uevent on every open() which lets udev run into a loop.
> 
> Verify GET_EVENT result against TUR and if it generates spurious
> events for several times in a row, ignore the GET_EVENT events, and
> trust only the TUR status.
> 
> This is the log of a USB stick with a (broken) fake CDROM drive:
> 
>  scsi 5:0:0:0: Direct-Access     SanDisk  U3 Cruzer Micro  8.02 PQ: 0 ANSI: 0 CCS
>  sd 5:0:0:0: Attached scsi generic sg3 type 0
>  scsi 5:0:0:1: CD-ROM            SanDisk  U3 Cruzer Micro  8.02 PQ: 0 ANSI: 0
>  sd 5:0:0:0: [sdb] Attached SCSI removable disk
>  sr2: scsi3-mmc drive: 48x/48x tray
>  sr 5:0:0:1: Attached scsi CD-ROM sr2
>  sr 5:0:0:1: Attached scsi generic sg4 type 5
>  sr2: GET_EVENT and TUR disagree continuously, suppress GET_EVENT events
>  sd 5:0:0:0: [sdb] 31777279 512-byte logical blocks: (16.2 GB/15.1 GiB)
>  sd 5:0:0:0: [sdb] No Caching mode page present
>  sd 5:0:0:0: [sdb] Assuming drive cache: write through
>  sd 5:0:0:0: [sdb] No Caching mode page present
>  sd 5:0:0:0: [sdb] Assuming drive cache: write through
>  sdb: sdb1
> 
> -tj: Updated to consider only spurious GET_EVENT events among
>      different types of disagreement and allow using TUR for kernel
>      event polling after GET_EVENT is ignored.
> 
> Reported-By: Markus Rathgeb maggu2810@xxxxxxxxxxxxxx
> Signed-off-by: Kay Sievers <kay.sievers@xxxxxxxx>
> Signed-off-by: Tejun Heo <tj@xxxxxxxxxx>
> Cc: stable@xxxxxxxxxx	# >= v2.6.38, fixes udev busy looping w/ certain devices

James, ping.

-- 
tejun
--
To unsubscribe from this list: send the line "unsubscribe linux-hotplug" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html


[Index of Archives]     [Linux Kernel]     [Linux DVB]     [Asterisk Internet PBX]     [DCCP]     [Netdev]     [X.org]     [Util Linux NG]     [Fedora Women]     [ALSA Devel]     [Linux USB]

  Powered by Linux