diff options
author | Michael Chan <mchan@broadcom.com> | 2007-12-25 00:28:09 -0500 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2008-01-28 18:00:05 -0500 |
commit | 7ffc49a6ee92b7138c2ee28073a8e10e58335d62 (patch) | |
tree | 6421d389980f3a71b1b53ed6e1548eb08dbf1226 /drivers/scsi/qla4xxx/ql4_os.c | |
parent | 21371f768bf7127ee45bfaadd17899df6a439e8f (diff) |
[ETH]: Combine format_addr() with print_mac().
print_mac() used many most net drivers and format_addr() used by
net-sysfs.c are very similar and they can be intergrated.
format_addr() is also identically redefined in the qla4xxx iscsi
driver.
Export a new function sysfs_format_mac() to be used by net-sysfs,
qla4xxx and others in the future. Both print_mac() and
sysfs_format_mac() call _format_mac_addr() to do the formatting.
Changed print_mac() to use unsigned char * to be consistent with
net_device struct's dev_addr. Added buffer length overrun checking
as suggested by Joe Perches.
Signed-off-by: Michael Chan <mchan@broadcom.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'drivers/scsi/qla4xxx/ql4_os.c')
-rw-r--r-- | drivers/scsi/qla4xxx/ql4_os.c | 14 |
1 files changed, 1 insertions, 13 deletions
diff --git a/drivers/scsi/qla4xxx/ql4_os.c b/drivers/scsi/qla4xxx/ql4_os.c index f55b9f7d9396..d3f86646cb08 100644 --- a/drivers/scsi/qla4xxx/ql4_os.c +++ b/drivers/scsi/qla4xxx/ql4_os.c | |||
@@ -173,18 +173,6 @@ static void qla4xxx_conn_stop(struct iscsi_cls_conn *conn, int flag) | |||
173 | printk(KERN_ERR "iscsi: invalid stop flag %d\n", flag); | 173 | printk(KERN_ERR "iscsi: invalid stop flag %d\n", flag); |
174 | } | 174 | } |
175 | 175 | ||
176 | static ssize_t format_addr(char *buf, const unsigned char *addr, int len) | ||
177 | { | ||
178 | int i; | ||
179 | char *cp = buf; | ||
180 | |||
181 | for (i = 0; i < len; i++) | ||
182 | cp += sprintf(cp, "%02x%c", addr[i], | ||
183 | i == (len - 1) ? '\n' : ':'); | ||
184 | return cp - buf; | ||
185 | } | ||
186 | |||
187 | |||
188 | static int qla4xxx_host_get_param(struct Scsi_Host *shost, | 176 | static int qla4xxx_host_get_param(struct Scsi_Host *shost, |
189 | enum iscsi_host_param param, char *buf) | 177 | enum iscsi_host_param param, char *buf) |
190 | { | 178 | { |
@@ -193,7 +181,7 @@ static int qla4xxx_host_get_param(struct Scsi_Host *shost, | |||
193 | 181 | ||
194 | switch (param) { | 182 | switch (param) { |
195 | case ISCSI_HOST_PARAM_HWADDRESS: | 183 | case ISCSI_HOST_PARAM_HWADDRESS: |
196 | len = format_addr(buf, ha->my_mac, MAC_ADDR_LEN); | 184 | len = sysfs_format_mac(buf, ha->my_mac, MAC_ADDR_LEN); |
197 | break; | 185 | break; |
198 | case ISCSI_HOST_PARAM_IPADDRESS: | 186 | case ISCSI_HOST_PARAM_IPADDRESS: |
199 | len = sprintf(buf, "%d.%d.%d.%d\n", ha->ip_address[0], | 187 | len = sprintf(buf, "%d.%d.%d.%d\n", ha->ip_address[0], |