[iio:testing 25/25] drivers/iio/magnetometer/ak09911.c:301 ak09911_probe() error: we previously assumed 'id' could be null (see line 288)

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

 



ak09911_probe() is called from i2c_device_probe() when we do:

	status = driver->probe(client, i2c_match_id(driver->id_table, client));

The functions which implement driver->probe() are not very consistent
in how the check for a NULL return from i2c_match_id().

tree:   git://git.kernel.org/pub/scm/linux/kernel/git/jic23/iio.git testing
head:   3b60f3cdd600858142daaf8071501cbe72a9e2b9
commit: 3b60f3cdd600858142daaf8071501cbe72a9e2b9 [25/25] iio: AK09911 : 3 axis compass support

drivers/iio/magnetometer/ak09911.c:301 ak09911_probe() error: we previously assumed 'id' could be null (see line 288)

git remote add iio git://git.kernel.org/pub/scm/linux/kernel/git/jic23/iio.git
git remote update iio
git checkout 3b60f3cdd600858142daaf8071501cbe72a9e2b9
vim +/id +301 drivers/iio/magnetometer/ak09911.c

3b60f3cd Srinivas Pandruvada 2014-11-06  282  	mutex_init(&data->lock);
3b60f3cd Srinivas Pandruvada 2014-11-06  283  
3b60f3cd Srinivas Pandruvada 2014-11-06  284  	ret = ak09911_get_asa(client);
3b60f3cd Srinivas Pandruvada 2014-11-06  285  	if (ret)
3b60f3cd Srinivas Pandruvada 2014-11-06  286  		return ret;
3b60f3cd Srinivas Pandruvada 2014-11-06  287  
3b60f3cd Srinivas Pandruvada 2014-11-06 @288  	if (id)
3b60f3cd Srinivas Pandruvada 2014-11-06  289  		name = id->name;
3b60f3cd Srinivas Pandruvada 2014-11-06  290  	else if (ACPI_HANDLE(&client->dev))
3b60f3cd Srinivas Pandruvada 2014-11-06  291  		name = dev_name(&client->dev);
3b60f3cd Srinivas Pandruvada 2014-11-06  292  	else
3b60f3cd Srinivas Pandruvada 2014-11-06  293  		return -ENODEV;
3b60f3cd Srinivas Pandruvada 2014-11-06  294  
3b60f3cd Srinivas Pandruvada 2014-11-06  295  	dev_dbg(&client->dev, "Asahi compass chip %s\n", name);
3b60f3cd Srinivas Pandruvada 2014-11-06  296  
3b60f3cd Srinivas Pandruvada 2014-11-06  297  	indio_dev->dev.parent = &client->dev;
3b60f3cd Srinivas Pandruvada 2014-11-06  298  	indio_dev->channels = ak09911_channels;
3b60f3cd Srinivas Pandruvada 2014-11-06  299  	indio_dev->num_channels = ARRAY_SIZE(ak09911_channels);
3b60f3cd Srinivas Pandruvada 2014-11-06  300  	indio_dev->info = &ak09911_info;
3b60f3cd Srinivas Pandruvada 2014-11-06 @301  	indio_dev->name = id->name;

This is obviously a cut and paste bug and the ->name = name two lines
below is intended.

3b60f3cd Srinivas Pandruvada 2014-11-06  302  	indio_dev->modes = INDIO_DIRECT_MODE;
3b60f3cd Srinivas Pandruvada 2014-11-06  303  	indio_dev->name = name;
3b60f3cd Srinivas Pandruvada 2014-11-06  304  

---
0-DAY kernel build testing backend              Open Source Technology Center
http://lists.01.org/mailman/listinfo/kbuild                 Intel Corporation
--
To unsubscribe from this list: send the line "unsubscribe linux-i2c" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html




[Index of Archives]     [Linux GPIO]     [Linux SPI]     [Linux Hardward Monitoring]     [LM Sensors]     [Linux USB Devel]     [Linux Media]     [Video for Linux]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux