diff options
author | Borislav Petkov <bp@alien8.de> | 2012-10-21 12:57:56 -0400 |
---|---|---|
committer | Jeff Garzik <jgarzik@redhat.com> | 2012-11-15 23:51:11 -0500 |
commit | cd705d5ad49bb8894dda2726dcaef8f63ddeba43 (patch) | |
tree | ad7070ea0b7d25a52d5de67a5cf3a8369c2d9553 /drivers/ata | |
parent | c37472d3f4ec6bf98b443490e069f31d18bcd6f5 (diff) |
libata debugging: Warn when unable to find timing descriptor based on xfer_mode
ata_timing_find_mode could return NULL which is not checked by all
low-level ATA drivers using it and cause a NULL ptr deref. Warn at least
so that possible issues can get fixed easily.
Signed-off-by: Borislav Petkov <bp@alien8.de>
Signed-off-by: Jeff Garzik <jgarzik@redhat.com>
Diffstat (limited to 'drivers/ata')
-rw-r--r-- | drivers/ata/libata-core.c | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/drivers/ata/libata-core.c b/drivers/ata/libata-core.c index 3cc7096cfda7..f46fbd3bd3fb 100644 --- a/drivers/ata/libata-core.c +++ b/drivers/ata/libata-core.c | |||
@@ -2942,6 +2942,10 @@ const struct ata_timing *ata_timing_find_mode(u8 xfer_mode) | |||
2942 | 2942 | ||
2943 | if (xfer_mode == t->mode) | 2943 | if (xfer_mode == t->mode) |
2944 | return t; | 2944 | return t; |
2945 | |||
2946 | WARN_ONCE(true, "%s: unable to find timing for xfer_mode 0x%x\n", | ||
2947 | __func__, xfer_mode); | ||
2948 | |||
2945 | return NULL; | 2949 | return NULL; |
2946 | } | 2950 | } |
2947 | 2951 | ||