diff options
Diffstat (limited to 'miscutils')
-rw-r--r-- | miscutils/Config.in | 8 | ||||
-rw-r--r-- | miscutils/hdparm.c | 6 |
2 files changed, 13 insertions, 1 deletions
diff --git a/miscutils/Config.in b/miscutils/Config.in index 0c56f0ee9..a994c5096 100644 --- a/miscutils/Config.in +++ b/miscutils/Config.in | |||
@@ -100,6 +100,14 @@ config CONFIG_FEATURE_HDPARM_HDIO_TRISTATE_HWIF | |||
100 | and the '-b' option to get/set bus state. This is dangerous | 100 | and the '-b' option to get/set bus state. This is dangerous |
101 | stuff, so you should probably say N. | 101 | stuff, so you should probably say N. |
102 | 102 | ||
103 | config CONFIG_FEATURE_HDPARM_HDIO_GETSET_DMA | ||
104 | bool " get/set using_dma flag (DANGEROUS)" | ||
105 | default n | ||
106 | depends on CONFIG_HDPARM | ||
107 | help | ||
108 | Enables the 'hdparm -d' option to get/set using_dma flag. | ||
109 | This is dangerous stuff, so you should probably say N. | ||
110 | |||
103 | config CONFIG_MAKEDEVS | 111 | config CONFIG_MAKEDEVS |
104 | bool "makedevs" | 112 | bool "makedevs" |
105 | default n | 113 | default n |
diff --git a/miscutils/hdparm.c b/miscutils/hdparm.c index eb4991ef3..0263f2893 100644 --- a/miscutils/hdparm.c +++ b/miscutils/hdparm.c | |||
@@ -1820,6 +1820,7 @@ static void process_dev (char *devname) | |||
1820 | if (ioctl(fd, HDIO_SET_UNMASKINTR, unmask)) | 1820 | if (ioctl(fd, HDIO_SET_UNMASKINTR, unmask)) |
1821 | bb_perror_msg(" HDIO_SET_UNMASKINTR failed"); | 1821 | bb_perror_msg(" HDIO_SET_UNMASKINTR failed"); |
1822 | } | 1822 | } |
1823 | #ifdef CONFIG_FEATURE_HDPARM_HDIO_GETSET_DMA | ||
1823 | if (set_dma) { | 1824 | if (set_dma) { |
1824 | no_scsi(); | 1825 | no_scsi(); |
1825 | if (get_dma) { | 1826 | if (get_dma) { |
@@ -1829,6 +1830,7 @@ static void process_dev (char *devname) | |||
1829 | if (ioctl(fd, HDIO_SET_DMA, dma)) | 1830 | if (ioctl(fd, HDIO_SET_DMA, dma)) |
1830 | bb_perror_msg(" HDIO_SET_DMA failed"); | 1831 | bb_perror_msg(" HDIO_SET_DMA failed"); |
1831 | } | 1832 | } |
1833 | #endif /* CONFIG_FEATURE_HDPARM_HDIO_GETSET_DMA */ | ||
1832 | if (set_dma_q) { | 1834 | if (set_dma_q) { |
1833 | no_scsi(); | 1835 | no_scsi(); |
1834 | if (get_dma_q) { | 1836 | if (get_dma_q) { |
@@ -2080,7 +2082,7 @@ static void process_dev (char *devname) | |||
2080 | } | 2082 | } |
2081 | } | 2083 | } |
2082 | 2084 | ||
2083 | #ifdef CONFIG_FEATURE_HDPARM_HDIO_GET_DMA | 2085 | #ifdef CONFIG_FEATURE_HDPARM_HDIO_GETSET_DMA |
2084 | if ((verbose && !is_scsi_hd) || get_dma) { | 2086 | if ((verbose && !is_scsi_hd) || get_dma) { |
2085 | no_scsi(); | 2087 | no_scsi(); |
2086 | if (ioctl(fd, HDIO_GET_DMA, &parm)) | 2088 | if (ioctl(fd, HDIO_GET_DMA, &parm)) |
@@ -2382,6 +2384,7 @@ int hdparm_main(int argc, char **argv) | |||
2382 | unmask = *p++ - '0'; | 2384 | unmask = *p++ - '0'; |
2383 | } | 2385 | } |
2384 | break; | 2386 | break; |
2387 | #ifdef CONFIG_FEATURE_HDPARM_HDIO_GETSET_DMA | ||
2385 | case 'd': | 2388 | case 'd': |
2386 | get_dma = noisy; | 2389 | get_dma = noisy; |
2387 | noisy = 1; | 2390 | noisy = 1; |
@@ -2392,6 +2395,7 @@ int hdparm_main(int argc, char **argv) | |||
2392 | dma = *p++ - '0'; | 2395 | dma = *p++ - '0'; |
2393 | } | 2396 | } |
2394 | break; | 2397 | break; |
2398 | #endif /* CONFIG_FEATURE_HDPARM_HDIO_GETSET_DMA */ | ||
2395 | case 'n': | 2399 | case 'n': |
2396 | get_nowerr = noisy; | 2400 | get_nowerr = noisy; |
2397 | noisy = 1; | 2401 | noisy = 1; |