diff options
author | Linus Torvalds <torvalds@linux-foundation.org> | 2010-08-04 18:15:15 -0400 |
---|---|---|
committer | Linus Torvalds <torvalds@linux-foundation.org> | 2010-08-04 18:15:15 -0400 |
commit | 03da30986793385af57eeca3296253c887b742e6 (patch) | |
tree | 9c46dbe51c9d0856990649dd917ab45474b7be87 /drivers/scsi/aic7xxx/aic79xx_proc.c | |
parent | 6ba74014c1ab0e37af7de6f64b4eccbbae3cb9e7 (diff) | |
parent | 339f4f4eab80caa6cf0d39fb057ad6ddb84ba91e (diff) |
Merge git://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsi-misc-2.6
* git://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsi-misc-2.6: (276 commits)
[SCSI] zfcp: Trigger logging in the FCP channel on qdio error conditions
[SCSI] zfcp: Introduce experimental support for DIF/DIX
[SCSI] zfcp: Enable data division support for FCP devices
[SCSI] zfcp: Prevent access on uninitialized memory.
[SCSI] zfcp: Post events through FC transport class
[SCSI] zfcp: Cleanup QDIO attachment and improve processing.
[SCSI] zfcp: Cleanup function parameters for sbal value.
[SCSI] zfcp: Use correct width for timer_interval field
[SCSI] zfcp: Remove SCSI device when removing unit
[SCSI] zfcp: Use memdup_user and kstrdup
[SCSI] zfcp: Fix retry after failed "open port" erp action
[SCSI] zfcp: Fail erp after timeout
[SCSI] zfcp: Use forced_reopen in terminate_rport_io callback
[SCSI] zfcp: Register SCSI devices after successful fc_remote_port_add
[SCSI] zfcp: Do not try "forced close" when port is already closed
[SCSI] zfcp: Do not unblock rport from REOPEN_PORT_FORCED
[SCSI] sd: add support for runtime PM
[SCSI] implement runtime Power Management
[SCSI] convert to the new PM framework
[SCSI] Unify SAM_ and SAM_STAT_ macros
...
Diffstat (limited to 'drivers/scsi/aic7xxx/aic79xx_proc.c')
-rw-r--r-- | drivers/scsi/aic7xxx/aic79xx_proc.c | 13 |
1 files changed, 6 insertions, 7 deletions
diff --git a/drivers/scsi/aic7xxx/aic79xx_proc.c b/drivers/scsi/aic7xxx/aic79xx_proc.c index 014bed716e7c..59c85d5a153a 100644 --- a/drivers/scsi/aic7xxx/aic79xx_proc.c +++ b/drivers/scsi/aic7xxx/aic79xx_proc.c | |||
@@ -272,33 +272,32 @@ ahd_proc_write_seeprom(struct ahd_softc *ahd, char *buffer, int length) | |||
272 | saved_modes = ahd_save_modes(ahd); | 272 | saved_modes = ahd_save_modes(ahd); |
273 | ahd_set_modes(ahd, AHD_MODE_SCSI, AHD_MODE_SCSI); | 273 | ahd_set_modes(ahd, AHD_MODE_SCSI, AHD_MODE_SCSI); |
274 | if (length != sizeof(struct seeprom_config)) { | 274 | if (length != sizeof(struct seeprom_config)) { |
275 | printf("ahd_proc_write_seeprom: incorrect buffer size\n"); | 275 | printk("ahd_proc_write_seeprom: incorrect buffer size\n"); |
276 | goto done; | 276 | goto done; |
277 | } | 277 | } |
278 | 278 | ||
279 | have_seeprom = ahd_verify_cksum((struct seeprom_config*)buffer); | 279 | have_seeprom = ahd_verify_cksum((struct seeprom_config*)buffer); |
280 | if (have_seeprom == 0) { | 280 | if (have_seeprom == 0) { |
281 | printf("ahd_proc_write_seeprom: cksum verification failed\n"); | 281 | printk("ahd_proc_write_seeprom: cksum verification failed\n"); |
282 | goto done; | 282 | goto done; |
283 | } | 283 | } |
284 | 284 | ||
285 | have_seeprom = ahd_acquire_seeprom(ahd); | 285 | have_seeprom = ahd_acquire_seeprom(ahd); |
286 | if (!have_seeprom) { | 286 | if (!have_seeprom) { |
287 | printf("ahd_proc_write_seeprom: No Serial EEPROM\n"); | 287 | printk("ahd_proc_write_seeprom: No Serial EEPROM\n"); |
288 | goto done; | 288 | goto done; |
289 | } else { | 289 | } else { |
290 | u_int start_addr; | 290 | u_int start_addr; |
291 | 291 | ||
292 | if (ahd->seep_config == NULL) { | 292 | if (ahd->seep_config == NULL) { |
293 | ahd->seep_config = malloc(sizeof(*ahd->seep_config), | 293 | ahd->seep_config = kmalloc(sizeof(*ahd->seep_config), GFP_ATOMIC); |
294 | M_DEVBUF, M_NOWAIT); | ||
295 | if (ahd->seep_config == NULL) { | 294 | if (ahd->seep_config == NULL) { |
296 | printf("aic79xx: Unable to allocate serial " | 295 | printk("aic79xx: Unable to allocate serial " |
297 | "eeprom buffer. Write failing\n"); | 296 | "eeprom buffer. Write failing\n"); |
298 | goto done; | 297 | goto done; |
299 | } | 298 | } |
300 | } | 299 | } |
301 | printf("aic79xx: Writing Serial EEPROM\n"); | 300 | printk("aic79xx: Writing Serial EEPROM\n"); |
302 | start_addr = 32 * (ahd->channel - 'A'); | 301 | start_addr = 32 * (ahd->channel - 'A'); |
303 | ahd_write_seeprom(ahd, (u_int16_t *)buffer, start_addr, | 302 | ahd_write_seeprom(ahd, (u_int16_t *)buffer, start_addr, |
304 | sizeof(struct seeprom_config)/2); | 303 | sizeof(struct seeprom_config)/2); |