Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]
Groups > linux.kernel > #1733534
| From | SF Markus Elfring <elfring@users.sourceforge.net> |
|---|---|
| Newsgroups | linux.kernel |
| Subject | [PATCH 6/8] [media] cx231xx: Use common error handling code in read_eeprom() |
| Date | 2017-09-17 22:30 +0200 |
| Message-ID | <uqOmt-4zB-13@gated-at.bofh.it> (permalink) |
| References | <uqOcN-4tM-3@gated-at.bofh.it> |
| Organization | linux.* mail to news gateway |
From: Markus Elfring <elfring@users.sourceforge.net>
Date: Sun, 17 Sep 2017 20:22:15 +0200
Add a jump target so that a bit of exception handling can be better reused
at the end of this function.
This issue was detected by using the Coccinelle software.
Signed-off-by: Markus Elfring <elfring@users.sourceforge.net>
---
drivers/media/usb/cx231xx/cx231xx-cards.c | 17 +++++++++--------
1 file changed, 9 insertions(+), 8 deletions(-)
diff --git a/drivers/media/usb/cx231xx/cx231xx-cards.c b/drivers/media/usb/cx231xx/cx231xx-cards.c
index d204f220dfe5..04c0734aee79 100644
--- a/drivers/media/usb/cx231xx/cx231xx-cards.c
+++ b/drivers/media/usb/cx231xx/cx231xx-cards.c
@@ -1117,20 +1117,17 @@ static int read_eeprom(struct cx231xx *dev, struct i2c_client *client,
/* start reading at offset 0 */
ret = i2c_transfer(client->adapter, &msg_write, 1);
- if (ret < 0) {
- dev_err(dev->dev, "Can't read eeprom\n");
- return ret;
- }
+ if (ret < 0)
+ goto report_failure;
while (len_todo > 0) {
msg_read.len = (len_todo > 64) ? 64 : len_todo;
msg_read.buf = eedata_cur;
ret = i2c_transfer(client->adapter, &msg_read, 1);
- if (ret < 0) {
- dev_err(dev->dev, "Can't read eeprom\n");
- return ret;
- }
+ if (ret < 0)
+ goto report_failure;
+
eedata_cur += msg_read.len;
len_todo -= msg_read.len;
}
@@ -1140,6 +1137,10 @@ static int read_eeprom(struct cx231xx *dev, struct i2c_client *client,
i, 16, &eedata[i]);
return 0;
+
+report_failure:
+ dev_err(dev->dev, "Can't read eeprom\n");
+ return ret;
}
void cx231xx_card_setup(struct cx231xx *dev)
--
2.14.1
Back to linux.kernel | Previous | Next — Previous in thread | Find similar | Unroll thread
[PATCH 0/8] [media] Cx231xx: Adjustments for several function implementations SF Markus Elfring <elfring@users.sourceforge.net> - 2017-09-17 22:20 +0200 [PATCH 3/8] [media] cx231xx: Improve six size determinations SF Markus Elfring <elfring@users.sourceforge.net> - 2017-09-17 22:20 +0200 [PATCH 2/8] [media] cx231xx: Adjust 56 checks for null pointers SF Markus Elfring <elfring@users.sourceforge.net> - 2017-09-17 22:20 +0200 [PATCH 1/8] [media] cx231xx: Delete eight error messages for a failed memory allocation SF Markus Elfring <elfring@users.sourceforge.net> - 2017-09-17 22:20 +0200 [PATCH 5/8] [media] cx231xx: Use common error handling code in dvb_init() SF Markus Elfring <elfring@users.sourceforge.net> - 2017-09-17 22:30 +0200 [PATCH 4/8] [media] cx231xx: Delete an unnecessary variable initialisation in dvb_init() SF Markus Elfring <elfring@users.sourceforge.net> - 2017-09-17 22:30 +0200 [PATCH 7/8] [media] cx231xx: Delete an unnecessary variable initialisation in read_eeprom() SF Markus Elfring <elfring@users.sourceforge.net> - 2017-09-17 22:30 +0200 [PATCH 8/8] [media] cx231xx: Use common error handling code in cx231xx_load_firmware() SF Markus Elfring <elfring@users.sourceforge.net> - 2017-09-17 22:30 +0200 [PATCH 6/8] [media] cx231xx: Use common error handling code in read_eeprom() SF Markus Elfring <elfring@users.sourceforge.net> - 2017-09-17 22:30 +0200
csiph-web