diff options
Diffstat (limited to 'arch/sh/drivers/dma/dma-api.c')
-rw-r--r-- | arch/sh/drivers/dma/dma-api.c | 7 |
1 files changed, 4 insertions, 3 deletions
diff --git a/arch/sh/drivers/dma/dma-api.c b/arch/sh/drivers/dma/dma-api.c index cf8e11994330..76ed816d9a24 100644 --- a/arch/sh/drivers/dma/dma-api.c +++ b/arch/sh/drivers/dma/dma-api.c | |||
@@ -31,8 +31,8 @@ struct dma_info *get_dma_info(unsigned int chan) | |||
31 | * the channel is. | 31 | * the channel is. |
32 | */ | 32 | */ |
33 | list_for_each_entry(info, ®istered_dmac_list, list) { | 33 | list_for_each_entry(info, ®istered_dmac_list, list) { |
34 | if ((chan < info->first_channel_nr) || | 34 | if ((chan < info->first_vchannel_nr) || |
35 | (chan >= info->first_channel_nr + info->nr_channels)) | 35 | (chan >= info->first_vchannel_nr + info->nr_channels)) |
36 | continue; | 36 | continue; |
37 | 37 | ||
38 | return info; | 38 | return info; |
@@ -82,7 +82,7 @@ struct dma_channel *get_dma_channel(unsigned int chan) | |||
82 | 82 | ||
83 | for (i = 0; i < info->nr_channels; i++) { | 83 | for (i = 0; i < info->nr_channels; i++) { |
84 | channel = &info->channels[i]; | 84 | channel = &info->channels[i]; |
85 | if (channel->chan == chan) | 85 | if (channel->vchan == chan) |
86 | return channel; | 86 | return channel; |
87 | } | 87 | } |
88 | 88 | ||
@@ -369,6 +369,7 @@ int register_dmac(struct dma_info *info) | |||
369 | } | 369 | } |
370 | 370 | ||
371 | total_channels = get_nr_channels(); | 371 | total_channels = get_nr_channels(); |
372 | info->first_vchannel_nr = total_channels; | ||
372 | for (i = 0; i < info->nr_channels; i++) { | 373 | for (i = 0; i < info->nr_channels; i++) { |
373 | struct dma_channel *chan = &info->channels[i]; | 374 | struct dma_channel *chan = &info->channels[i]; |
374 | 375 | ||