[PATCH] mxcmmc: Internal error: Oops: 17 [#1] ARM from sg->offset

Chris Ruehl chris.ruehl at gtsys.com.hk
Wed Jan 22 02:19:48 EST 2014


On Wednesday, January 22, 2014 02:42 PM, Sascha Hauer wrote:
> On Wed, Jan 22, 2014 at 12:32:39PM +0800, Chris Ruehl wrote:
>> Function mxcmci_request() throw an exception on a imx27 cpu.
>> This patch fix the problem by test the pointer before access it.
>>
>> diff --git a/drivers/mmc/host/mxcmmc.c b/drivers/mmc/host/mxcmmc.c
>> index f7199c8..8645d6a 100644
>> --- a/drivers/mmc/host/mxcmmc.c
>> +++ b/drivers/mmc/host/mxcmmc.c
>> @@ -347,7 +347,7 @@ static int mxcmci_setup_data(struct mxcmci_host *host, struct mmc_data *data)
>>   		return 0;
>>   
>>   	for_each_sg(data->sg, sg, data->sg_len, i) {
>> -		if (sg->offset & 3 || sg->length & 3 || sg->length < 512) {
>> +		if (sg && (sg->offset & 3 || sg->length & 3 || sg->length < 512)) {
> The question is why sg is NULL. I think this shouldn't happen.
>
> Sascha
>
Thats was my idea too. But had no time to debug it out.
As for_each_sg() iterate over the sg-list may its not set properly 
before - In an earlier post
I ask for help but no-one returned so I quick fixed it.  Maybe now the 
bell is loud enough ;-)

Chris




More information about the linux-arm mailing list